我想用正则表达式java拆分字符串 例如:
String: (5,4,a)
我想在下面拆分两个字符串:
5
4,a
如果逗号字符之后字符是数字分割
如果字符是逗号字符后面的字母不分割
我使用
[-|,]\\s*[^\\w]
但没有权利
答案 0 :(得分:3)
通常最好不要提出一个复杂的正则表达式“做到这一切”。只需在逗号上拆分,然后查看最后一个元素是否为数字,如果不是,您仍然可以再次连接第二个和第三个字段。
答案 1 :(得分:2)
您可以使用正向前瞻 - 一个请求,告诉正则表达式引擎某个角色必须在那里,但不应该作为匹配的一部分使用:
"[()]|[,-](?=\\d)"
应该完成这项工作(demo on ideone)。在上面,(?=\\d)
表示“仅当后跟一个数字”,而不计算该数字作为比赛的一部分。
答案 2 :(得分:1)
试试这个:
String str = "5,4,c";
// Just split the string into two parts
String[] split = str.split(",", 2);
System.out.println(split[0]);
System.out.println(split[1]);