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 楼答案
你在这里的假设是错误的^{} 只关心传递给它的正则表达式
如果你需要在尊重引号的同时拆分它,there are many ways to accomplish that