从字符串中删除第一行的最简单方法是什么?
示例:
“ABC \ NDEF \尼奇”
=>
“DEF \尼奇”
答案 0 :(得分:5)
您可以使用.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;
}
答案 1 :(得分:1)
当源是MacOS时,Caesar的回答失败了,因为:
\ n =&gt; Un * x
\ r \ n =&gt;窗
\ r =&gt;的MacOS
使用boost :: regex的更好方法可能是:
boost::regex kNewLine("\r\n|\n|\r");
boost::split_regex(oSplitMessage, iRawMessage, kNewLine);
我希望它有所帮助。