从字符串中删除第一行的最简单方法是什么?
例子:
“abc\ndef\nghi”
=>
“定义\nghi”
您将使用.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);
我希望它有所帮助。