【发布时间】:2013-12-20 10:12:08
【问题描述】:
如何将逗号分隔的字符串与也可以包含逗号的带引号的字符串分开?
输入示例:
John, Doe, "Sid, Nency", Smith
预期输出:
- 约翰
- 能源部
- 席德,南希
- 史密斯
用逗号分隔没问题,但我要求允许使用像“Sid, Nency”这样的字符串。我尝试使用正则表达式来拆分这些值。正则表达式 ",(?=([^\"]*\"[^\"]*\")*[^\"]*$)" 来自 Java 问题,它不适用于我的 .NET 代码。它将一些字符串加倍,找到额外的结果等。
那么拆分此类字符串的最佳方法是什么?
【问题讨论】:
-
看起来您正在处理 CSV 输入?如果是这样,请使用 CSV 库 - 有很多好的,它会为您省去很多痛苦!如果不是,请澄清您的问题以解释为什么 CSV 库不适合...
-
不,它不是 CSV 文档。只是一个字符串
-
RB,如果你能告诉我我会很高兴,我如何使用 Csv Lib 来处理这个问题
-
一种 Hackie 方法是先拆分
",然后将备用字符串(在获得的数组中)拆分为,。 -
Perl 解决方案在这里(因为你把标签放回去了):stackoverflow.com/questions/2459729/…