日期:2014-05-18  浏览次数:20654 次

如何分割字符串?
如下 "400D497J36R132O823M7J1m1j16T32-342 "字符串
如何根据非数字型字符把字符串分割开

原始数据:400D497J36R132O823M7J1m1j16T32-342
分割后数据:400   D497   J36   R132   O823   M7   J1   m1   J16   T32   -342

------解决方案--------------------
用String.charAt(index)做判断 是否是英文字母
然后再截取
不过效率较低

不知有没有更好的方法
------解决方案--------------------
这种应该用正则表达式吧
------解决方案--------------------
楼上的高手
我正想这么做呢
------解决方案--------------------
来晚啦!

believefym(feng) 正解!
------解决方案--------------------
不过 believefym 的有点小问题,最后一组没有分开来,修改一下:

String str = "400D497J36R132O823M7J1m1j16T32-342 ";
System.out.println(Arrays.toString(str.split( "(?=[a-zA-Z\\-]) ")));

--------

[400, D497, J36, R132, O823, M7, J1, m1, j16, T32, -342]
------解决方案--------------------
str.split( "(? <=\\d)(?=[^\\d]) ")