حذف چند کاراکتر از رشته - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

حذف چند کاراکتر از رشته

+1 امتیاز
149 بازدید

سلام چطوری میشه چند تا کاراکتر رو از بین یک رشته حذف کرد ؟

مثلا

string a="abcdee"; --> "adee"

 

سوال شده فروردین 18, 1393  بوسیله ی SaveMe (امتیاز 70)   3

2 پاسخ

+1 امتیاز
 
بهترین پاسخ

از متد ()erase استفاده کن .

این متد به شکل های مختلف تعریف شده .

string& erase (size_t pos = 0, size_t len = npos);
iterator erase (const_iterator p);
iterator erase (const_iterator first, const_iterator last);

اولی برای حذف کردن ترتیبی است . که پارامتر اول شماره ی نویسه ی اولی رو میگیره و دوم طول رو میگیره . یعنی از شماره نویسه اول تا طول تک تک نویسه ها رو پاک میکنه .

 

دومی یک iterator رو میگیره که به نویسه مورد نظر اشاره میکنه و اون رو پاک رو میکنه .

سومی هم مثل اولی هست . ولی با iterator ها کار میکنه . یک iterator شروع رو میگیره و یک iterator پایان هم میگیره پ بین این ۲ تا (به اضاقه هر دوی itreator ) رو پاک میکنه .

iterator چیست ؟

// string::erase
#include <iostream>
#include <string>

int main ()
{
  std::string str ("This is an example sentence.");
  std::cout << str << '\n';
                                           // "This is an example sentence."
  str.erase (10,8);                        //            ^^^^^^^^
  std::cout << str << '\n';
                                           // "This is an sentence."
  str.erase (str.begin()+9);               //           ^
  std::cout << str << '\n';
                                           // "This is a sentence."
  str.erase (str.begin()+5, str.end()-9);  //       ^^^^^
  std::cout << str << '\n';
                                           // "This sentence."
  return 0;
}

منبع : http://www.cplusplus.com/reference/string/string/erase/

پاسخ داده شده فروردین 18, 1393 بوسیله ی Ali Rahbar (امتیاز 4,805)   4 14 46
0 امتیاز
با replace هم میتونی
پاسخ داده شده فروردین 20, 1393 بوسیله ی Fire360Boy (امتیاز 3,342)   2 16 42
...