Split String如果有数字

时间:2015-02-26 04:14:07

标签: java android regex split

嗨,大家已经有一段时间了,因为我问了另一个问题,

我有这个由名称和数字组成的字符串 实施例

  

String myString =“give11arrow123test2356read809cell1245cable1257give222 ......”

现在我要做的就是每当有一个数字附加时将其拆分

我必须拆分它以便我可以得到像这样的结果

  

give11,arrow123,test2356,read809,cell1245,cable1257,give222,....

我可以使用此代码,但我找不到合适的正则表达式

  

String [] arrayString = myString.split(“Regex”)

感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

您可以使用lookarounds的组合来分割字符串。

  

Lookarounds是零宽度断言。它们不会消耗字符串上的任何字符。零宽度的点是验证正则表达式是可以或者不能匹配向前看或从当前位置回顾,而不是将它们添加到整体匹配中。

String s = "give11arrow123test2356read809cell1245cable1257give222...";
String[] parts = s.split("(?<=\\d)(?=\\D)");
System.out.println(Arrays.toString(parts));

输出

[give11, arrow123, test2356, read809, cell1245, cable1257, give222, ...]

答案 1 :(得分:1)

使用此正则表达式进行拆分

String regex = "(?<=\\d)(?=\\D)";

答案 2 :(得分:0)

我不熟悉在java中使用regex,但这个表达式符合www.rubular.com

所需的内容
([A-Za-z]+[0-9]+)