本文转载自: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());
}
************************************************
学习之后记录一下,下次才不会忘记~