有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java字符串拆分()无法正常工作

temp = line.split(",");
if (i < paymentFieldsMapIndex.size()) {
    paymentFields.put(paymentFieldsMap.get(next).toString(), temp[i]);
}

此代码将逗号分隔的字符串拆分为子字符串,并使用生成的子字符串填充HashMap值

某些子字符串值在生成的HashMap中看起来很有趣,似乎是由于令牌中存在逗号

比如说

,“联合王国伦敦”

在HashMap中,字符串显示为

Key=Key,Value=“伦敦

我认为String split()不会分解包含分隔符的子字符串,如果它们用双引号括起来

我也尝试过像这样避开嵌入的逗号

,“伦敦\,英国”

但是HashMap中的字符串看起来像

Key=Key,Value=“伦敦\

我是否遗漏了什么,或者有没有办法解决这个问题?谢谢


共 (1) 个答案

  1. # 1 楼答案

    "I thought that String split(), will not break up substrings containing the delimiter if they are enclosed in double quotes?"

    你在这里的假设是错误的^{}只关心传递给它的正则表达式

    如果你需要在尊重引号的同时拆分它,there are many ways to accomplish that