【发布时间】:2021-09-22 12:16:24
【问题描述】:
我需要在文本中用逗号分隔,但文本在括号内也有一个逗号,需要忽略
输入文本:Selectroasted 花生、糖(糖、花式糖浆)、氢化植物油(棉籽和菜籽油)、盐。
预期输出:
- 电烤花生
- 糖(糖、花式糖浆)
- 氢化植物油(棉籽油和菜籽油)
- 盐
我的代码
string pattern = @"\s*(?:""[^""]*""|\([^)]*\)|[^, ]+)";
string input = "Selectroasted peanuts,Sugars (sugar, fancymolasses),Hydrogenatedvegetable oil (cottonseed and rapeseed oil),Salt.";
foreach (Match m in Regex.Matches(input, pattern))
{
Console.WriteLine("{0}", m.Value);
}
我得到的输出:
- 电烤
- 花生
- 糖
- (糖,花式糖浆)
- 氢化蔬菜
- 油
- (棉籽油和菜籽油)
- 盐
请帮忙。
【问题讨论】:
-
最后的
.在Salt之后会发生什么?如果在输出中得到Salt.可以吗? -
是的,即使我得到了 Salt,我也能应付得来。在输出中