使用多个结束定界符剪切字符串
cut strings with multiple enddelimiter
我正在尝试找出两个不同字符之间的子字符串。字符串看起来像:
channelBlock_0\d_off_mux=8, 8, 8, 8, 8, 8, 8, 8
channelBlock_0\d_selvth=true, true, true, true, true, true, true, true
我想在 '='
之后和第一个 ','
之前拆分
在 '='
之后剪切已经对我有用了...这就是我得到的:
std::string line; //contains the string from above
std::string startDel = "=";
std::string endDel = ",";
cout << line.substr(line.find(startDel)+1,line.find(endDel));
我的输出如下所示:
8, 8, 8, 8, 8, 8, 8, 8
true, true, true, true, true
如何在第一个 ',' 之后剪切,所以我的输出只是
8
true
查看substring()
后,可以看到您需要的是:
line.substr(line.find(startDel) + 1, line.find(endDel) - (line.find(startDel) + 1));
因为该方法的第二个参数指出:
len
Number of characters to include in the substring (if the string is
shorter, as many characters as possible are used).
我正在尝试找出两个不同字符之间的子字符串。字符串看起来像:
channelBlock_0\d_off_mux=8, 8, 8, 8, 8, 8, 8, 8
channelBlock_0\d_selvth=true, true, true, true, true, true, true, true
我想在 '='
之后和第一个 ','
在 '='
之后剪切已经对我有用了...这就是我得到的:
std::string line; //contains the string from above
std::string startDel = "=";
std::string endDel = ",";
cout << line.substr(line.find(startDel)+1,line.find(endDel));
我的输出如下所示:
8, 8, 8, 8, 8, 8, 8, 8
true, true, true, true, true
如何在第一个 ',' 之后剪切,所以我的输出只是
8
true
查看substring()
后,可以看到您需要的是:
line.substr(line.find(startDel) + 1, line.find(endDel) - (line.find(startDel) + 1));
因为该方法的第二个参数指出:
len
Number of characters to include in the substring (if the string is shorter, as many characters as possible are used).