string截取字符串

来源:互联网 发布:网络摄像机多少钱 编辑:程序博客网 时间:2024/05/18 02:21

本文转载自:https://www.cnblogs.com/luqingsong/archive/2011/02/16/1956458.html


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");


************************************************

自己随便写的函数:

根据分隔符截取字符串,将取出的字符串存进list中

std::string str = std::string("123;456;789;abc;xyz;opq");
std::list<std::string>strList;
std::string m_columnSeparator = std::string(";");

std::string data_str = std::string(str);// 根据分隔符截取字符串,截取之后删除截取部分的内容
while (true)
{
size_t str_size = data_str.find(m_columnSeparator);
if (str_size == data_str.npos)
{

// 若不是以分隔符结尾,则截取剩下的字符串之后退出
if (data_str.size() != 0)
{
strList.push_back(std::string(data_str));
break;
}

// 若是以分隔符结尾,则string中已经没有内容,直接跳出循环
break;
}
strList.push_back(std::string(data_str.substr(0, str_size)));
data_str = data_str.substr(str_size + m_columnSeparator.size());
}

for (std::list<std::string>::iterator it = strList.begin(); it != strList.end(); it++)
{
printf("%s\n", it->c_str());
}

************************************************

学习之后记录一下,下次才不会忘记~

原创粉丝点击