2012-09-13 168 views
5

我想分割一個字符串在Java中。分割應該出現在兩個字符之間,其中一個是字母(a-z,A-Z)和另一個數字(0-9)。例如:RegEx字符匹配

String s = "abc123def456ghi789jkl"; 
String[] parts = s.split(regex); 
System.out.println(Arrays.deepToString(parts)); 

輸出應該是[abc, 123, def, 456, ghi, 789, jkl]。有人可以用一個匹配的正則表達式來幫助我嗎?

在此先感謝!

回答

9

您可以使用look-ahead and look-behind組合:

String s = "abc123def456ghi789jkl"; 
String regex = "(?<=\\d)(?=[a-z])|(?<=[a-z])(?=\\d)"; 
String[] parts = s.split(regex); 
System.out.println(Arrays.deepToString(parts)); 
+0

謝謝你,對我的作品! – hielsnoppe