文字列の最初の行を消去する最も簡単な方法は何ですか?
例:
"abc\ndef\nghi"
=>
"def\nhi"
を使用し.find
て最初の文字がどこにあるかを見つけてから、 を\n
使用し.erase
て最初の文字から見つかった場所までを削除します\n
。
#include <iostream>
#include <string>
int main()
{
std::string myString = "abc\ndef\nghi";
myString.erase(0, myString.find("\n") + 1);
std::cout << myString;
}
ソースが MacOS の場合、Caesar の回答は次の理由で失敗します。
\n => Un*x
\r\n => ウィンドウ
\r => MacOS
boost::regex を使用するより良い方法は次のとおりです。
boost::regex kNewLine("\r\n|\n|\r");
boost::split_regex(oSplitMessage, iRawMessage, kNewLine);
お役に立てば幸いです。