字符串split()无法正常工作

时间:2012-07-20 16:48:30

标签: java

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

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

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

例如

,“伦敦,英国”,

字符串中的

出现在HashMap中,如

Key = key,Value =“LONDON

我认为String split(),如果用双引号括起来,不会拆分包含分隔符的子串吗?

我也试过转发嵌入式逗号,如

,“LONDON \,United Kingdom”,

但HashMap中的字符串看起来像

Key = key,Value =“LONDON \

我错过了什么,或者有什么方法可以解决这个问题吗?感谢。

1 个答案:

答案 0 :(得分:7)

  

“我认为String split(),如果用双引号括起来,不会破坏包含分隔符的子串吗?”

您的推定不正确。 split()并不关心你传递它的正则表达式。

如果您需要在尊重引号时将其拆分,there are many ways to accomplish that