私は私が持っている-abc myStr1になりまし除去
string myStr = "myname-abc";
string myStr1 = strstr(myStr.c_str(), "-");
をfollowoingています。しかし、私はそれのinfrontを望んでいません。私は "abc"を持っていたいのですが、それはどのように文字列データ型を使って行うのですか?
ありがとうございました。
私は私が持っている-abc myStr1になりまし除去
string myStr = "myname-abc";
string myStr1 = strstr(myStr.c_str(), "-");
をfollowoingています。しかし、私はそれのinfrontを望んでいません。私は "abc"を持っていたいのですが、それはどのように文字列データ型を使って行うのですか?
ありがとうございました。
size_t pos = myStr.find('-');
if (pos != std::string::npos)
{
myStr1 = myStr.substr(pos + 1);
}
string myStr1 = strstr(mStr.c_str(), "-") + 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);
、あなたはリターンを確認する必要がありますstring::npos
の場合はstr.find('-')
の値、発生していない場合の戻り値
このプログラムの出力
ABC ABC
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;
}
std::string myStr("myname-abc");
std::string myStr1(++std::find(myStr.begin(), myStr.end(), '-'),
myStr.end());
私はあなたが求めているものを理解していれば、それはのインスタンスを削除します " - " 文字列から?その場合は、次のようにも動作します。..
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 "-"
}
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
char a[30];
cout<<"enter any string ";
cin.get(a,30);
char b[30];
for(int i=0;a[i]!='\0';i++)
{
if(a[i]!='!' && a[i]!='#'&& a[i]!='@' && a[i]!='$' && a[i]!='%' && a[i]!='^' && a[i]!='&' && a[i]!='*' && a[i]!='?')
{
b[i]=a[i];
cout<<b[i];
} }
getch();
}