我有一个字符串(1, 2, 3, 4)
,我想将整数解析成数组。java字符串拆分正则表达式
我可以用split(",\\s")
分裂,但所有的开始和结束的元素。我的问题是我如何修改它,所以开始和结束括号会被忽略?
我有一个字符串(1, 2, 3, 4)
,我想将整数解析成数组。java字符串拆分正则表达式
我可以用split(",\\s")
分裂,但所有的开始和结束的元素。我的问题是我如何修改它,所以开始和结束括号会被忽略?
您最好通过匹配数字而不是匹配它们之间的空格来服务。使用
final Matcher m = Pattern.compile("\\d+").matcher("(1, 2, 3, 4)");
while (m.find()) System.out.println(Integer.parseInt(m.group()));
这是当然是这样做的正确方式 –
数据越不可靠,这个解决方案越好。 –
使用正则表达式2:第一,消除括号,第二是分裂:
Pattern p = Pattern.compile("\\((.*)\\)");
Matcher m = p.matcher(str);
if (m.find()) {
String[] elements = m.group(1).split("\\s*,\\s*");
}
而且在我的正则表达式拆分修改留意。它更加灵活和安全。
你可以使用字符串(),然后拆分( “”)
String s = "(1,2,3,4)";
String s1 = s.substring(1, s.length()-2);//index should be 1 to length-2
System.out.println(s1);
String[] ss = s1.split(",");
for(String t : ss){
System.out.println(t);
}
你有没有想过在看从1到长度为2的子?如果你这样做,那么字符串应该可以分离。 – pippin1289