我有一个字符串myString = ""Ted", "Male", "29", "10,000""
。我试图用myString.split(",")
拆分此字符串,并使用poi将其写入excel。但它也将薪水"10,000"
分成["10","000"]
。
有什么办法可以避免吗?
答案 0 :(得分:2)
如果您的字符串在“,”之后用空格格式化,则可以使用此代码。
String string = "\"Ted\", \"Male\", \"29\", \"10,000\"";
System.out.println(Arrays.asList(string.split(", ")));
答案 1 :(得分:0)
String.split()
函数实际上有两个参数,第一个是用于分割String的正则表达式,第二个是用于停止分割的限制。 [Documentation]
如果您确定该数字总是出现在最后,您可以提供3作为第二个参数的输入,以便java停止在第三个逗号分割,不再分裂。
示例 -
String myString = "\"Ted\", \"Male\", \"29\", \"10,000\"";
System.out.println(Arrays.toString(myString.split(",",3)));
>>> ["Ted", "Male", "29", "10,000"]
答案 2 :(得分:0)
您可以使用正向lookbehind正则表达式仅分隔引号后出现的逗号,后跟零或多个空格:
String myString = "\"Ted\", \"Male\", \"29\", \"10,000\"";
System.out.println(Arrays.asList(myString.split("(?<=\"), *")));
输出:
["Ted", "Male", "29", "10,000"]
答案 3 :(得分:0)