【发布时间】:2020-08-05 12:07:09
【问题描述】:
我正在阅读以下问题Parsing a comma-delimited std::string,关于如何用逗号分割字符串(有人给了我上一个问题的链接),其中一个答案是:
stringstream ss( "1,1,1,1, or something else ,1,1,1,0" );
vector<string> result;
while( ss.good() )
{
string substr;
getline( ss, substr, ',' );
result.push_back( substr );
}
但是,如果我的字符串如下所示,并且我只想用粗体逗号分隔值而忽略 <> 中出现的内容,该怎么办?
我想得到:
<a,b>
<c,d>
"" //Empty string
<d,l>
""
换句话说,我的程序应该像上面给定的解决方案一样,由 , 分隔(假设没有其他的,除了粗体的)
以下是一些建议的解决方案及其问题:
删除所有粗体逗号:这将导致以下 2 个输入以相同的方式处理,而它们不应该
用一些字符替换所有粗体逗号并使用上述算法:我不能选择一些字符来替换逗号,因为任何值都可能出现在我的字符串的其余部分
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。