分割逗号分隔的文本忽略引号内的逗号
当某些值在引号内包含逗号时,解析包含逗号分隔值的文本可能会很困难。使用带有简单逗号分隔符的 Java 的 String.split 方法通常会产生包含这些带引号的逗号的分割值。这个问题需要一个区分引号外和引号内逗号的解决方案。
这个问题的解决方案在于正则表达式。下面的Java代码片段提供了一个全面的解决方案:
String[] arr = str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
这个正则表达式根据逗号分割字符串,这些逗号后面没有紧跟偶数个双引号。正则表达式的详细解释如下:
( ?=(?:[^"]*"[^"]*")*[^"]*$):先行表达式确保逗号后面跟着偶数个 double引号。
通过使用此正则表达式,您可以有效地拆分逗号分隔的文本,忽略双引号内的逗号。这种方法允许您以可靠的方式解析文本。方式,确保引用的值保持完整。
以上是如何在 Java 中分割逗号分隔的文本,同时忽略引号内的逗号?的详细内容。更多信息请关注PHP中文网其他相关文章!