我有一个要分割的字符串;
String x = "abc4.5efg2hij89k.9";
我希望输出为
abc, 4.5, efg, 2, hij, 89, k, .9
我可以轻松地将数字和非数字分开,但是使用'。'。被认为是角色。
x.split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)")
[abc, 4, ., 5, efg, 2, hij, 89, k., 9]
支持双打的最佳方法是什么?
最佳答案
您是否考虑过字母字符而不是\D
token ?
String s = "abc4.5efg2hij89k.9";
String[] parts = s.split("(?<=[a-z])(?=[\\d.])|(?<=\\d)(?=[a-z])");
System.out.println(Arrays.toString(parts));
输出量
[abc, 4.5, efg, 2, hij, 89, k, .9]