C++:string 截取字符串


string str="123abc456";     int i=3;

1 取字符串的前i個字符

 str=str.Substring(0,i); // or  str=str.Remove(i,str.Length-i); 

2 去掉字符串的前i個字符:

 str=str.Remove(0,i);  // or str=str.Substring(i); 

3 從右邊開始取i個字符:

str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);

4 從右邊開始去掉i個字符:

str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);

5 判斷字符串中是否有"abc" 有則去掉之

   using System.Text.RegularExpressions;
   string str = "123abc456";
   string a="abc";
   Regex r = new  Regex(a); 
   Match m = r.Match(str); 
   if (m.Success) {

      //二選一
      str=str.Replace(a,"");
      Response.Write(str);   
      //或者:string str1,str2;
                   str1=str.Substring(0,m.Index);
                   str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
                   Response.Write(str1+str2); 
   }

6 如果字符串中有"abc"則替換成"ABC"

str=str.Replace("abc","ABC");

 

7. 根據分隔符截取字符串,strtok()函數。

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
  char sentence[]="This is a sentence with 7 tokens";
  cout<<"The string to be tokenized is:\n"<<sentence<<"\n\nThe tokens are:\n\n";
  char *tokenPtr=strtok(sentence," ");
  while(tokenPtr!=NULL)
  {
      cout<<tokenPtr<<'\n';
      tokenPtr=strtok(NULL," ");//固定寫法,可直接記住
  }
  cout<<"After strtok, sentence = "<<sentence<<endl;
  return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM