C++ 删除C+中字符串中的特殊字符+;
我有以下几点C++ 删除C+中字符串中的特殊字符+;,c++,C++,我有以下几点 string myStr = "myname-abc"; string myStr1 = strstr(myStr.c_str(), "-"); 现在在myStr1中,我有-abc。但我不想在它前面加“-”,我想加上“abc”,我该如何使用字符串数据类型来实现这一点 谢谢你的帮助 string myStr1 = strstr(mStr.c_str(), "-") + 1; 或者,如果要避免转换为C样式字符串: string myStr1(m_Str, m_Str.find('
string myStr = "myname-abc";
string myStr1 = strstr(myStr.c_str(), "-");
现在在myStr1中,我有-abc。但我不想在它前面加“-”,我想加上“abc”,我该如何使用字符串数据类型来实现这一点
谢谢你的帮助
string myStr1 = strstr(mStr.c_str(), "-") + 1;
或者,如果要避免转换为C样式字符串:
string myStr1(m_Str, m_Str.find('-') + 1);
或者,如果要避免转换为C样式字符串:
string myStr1(m_Str, m_Str.find('-') + 1);
不确定我是否在跟踪,但是否要删除第一个元素
str.erase(0, 1); // erases 1 element starting from position 0
另外,如果您只想擦除-
之前的所有内容:
str.erase(0, str.find('-') + 1);
如果向程序提供的数据不能保证在某个地方有一个
-
,您应该检查str.find('-')
的返回值,对于string::npos
,当没有出现时返回值。不确定我是否在跟踪,但您想删除第一个元素吗
str.erase(0, 1); // erases 1 element starting from position 0
另外,如果您只想擦除-
之前的所有内容:
str.erase(0, str.find('-') + 1);
如果向程序提供的数据不能保证在某个地方有一个-
,则应检查str.find('-')
的返回值,对于string::npos
,在未找到任何值时返回值。此程序输出
美国广播公司
int main()
{
string myStr = "myname-abc";
string myStr1 = strstr(myStr.c_str(), "abc");
int index = 0;
while(myStr[index++] != '-'){}
string myStr2 = myStr.substr(index);
cout << myStr1 << " " << myStr2 << endl;
return 0;
}
intmain()
{
字符串myStr=“myname abc”;
字符串myStr1=strstrstr(myStr.c_str(),“abc”);
int指数=0;
而(myStr[index++]!='-'){}
字符串myStr2=myStr.substr(索引);
cout此程序输出
美国广播公司
int main()
{
string myStr = "myname-abc";
string myStr1 = strstr(myStr.c_str(), "abc");
int index = 0;
while(myStr[index++] != '-'){}
string myStr2 = myStr.substr(index);
cout << myStr1 << " " << myStr2 << endl;
return 0;
}
intmain()
{
字符串myStr=“myname abc”;
字符串myStr1=strstrstr(myStr.c_str(),“abc”);
int指数=0;
而(myStr[index++]!='-'){}
字符串myStr2=myStr.substr(索引);
如果我理解您的要求,那就是从字符串中删除“-”的实例吗?如果是这样,下面的操作也可以
string foo("-abc");
string::size_type fm = foo.find('-');
while (fm != string::npos)
{
foo.erase(foo.begin() + fm);
fm = foo.find('-', fm); // find the next instance of "-"
}
如果我理解您的要求,那就是从字符串中删除“-”的实例?如果是这样,下面的操作也可以
string foo("-abc");
string::size_type fm = foo.find('-');
while (fm != string::npos)
{
foo.erase(foo.begin() + fm);
fm = foo.find('-', fm); // find the next instance of "-"
}
#包括
#包括
void main()
{
clrsc();
chara[30];
cout
#包括
#包括
void main()
{
clrsc();
chara[30];
库特