String split正则表达式的问题

以明会友 2007-08-08 04:44:26
高手给出个主意:
4523425432NB,32423TY,4NT,43232423432YT,
对于以上的字符,最后两位是字母,前面是数字,位数不定,怎么把数字和字母分别取出.
...全文
971 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangxiaohu_ 2010-01-15
  • 打赏
  • 举报
回复
厉害。。。
andnnl 2007-10-22
  • 打赏
  • 举报
回复
String str = "4523425432NB,32423TY,4NT,43232423432YT";
String ptn = "((?<=[a-zA-Z]),?(?=[0-9]))|((?=[a-zA-Z]),?(?<=[0-9]))";
String[] s = str.split(ptn);
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}




结果:

4523425432
NB
32423
TY
4
NT
43232423432
YT
andnnl 2007-10-22
  • 打赏
  • 举报
回复
Pattern p = Pattern.compile("(\\d*)([A-Z]*),?");
String str = "4523425432NB,32423TY,4NT,43232423432YT";
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group(1)+"\t"+m.group(2));
}



简单...........
  • 打赏
  • 举报
回复
或者这样也可以:

String str = "4523425432NB";
String[] strs = str.split("(?<=\\d+)");
for(String s : strs) {
  System.out.println(s);
}

看上去简单一些 o(∩_∩)o
believefym 2007-08-08
  • 打赏
  • 举报
回复
好像贪婪匹配也没关系
(\\d+)([a-zA-Z]{2})
believefym 2007-08-08
  • 打赏
  • 举报
回复
非贪婪匹配
(\\d+?)([a-zA-Z]{2})

group(1),group(2)
  • 打赏
  • 举报
回复
String str = "4523425432NB";
String[] strs = str.split("(?=\\p{Alpha}{2})");
for(String s : strs) {
  System.out.println(s);
}
宋玮-深圳 2007-08-08
  • 打赏
  • 举报
回复
高人
以明会友 2007-08-08
  • 打赏
  • 举报
回复
是用正则表达式拆4523425432NB这个
以明会友 2007-08-08
  • 打赏
  • 举报
回复
速度如此之快,佩服,佩服, 用正则表达式来拆分的方法可不可以?
  • 打赏
  • 举报
回复
public static void main(String[] args) {
  String str = "4523425432NB,32423TY,4NT,43232423432YT";
  String[] strs = str.split(",");
  int length = strs.length;
  String[] number = new String[length];
  String[] character = new String[length];
  
  for(int i=0; i<length; i++) {
    number[i] = strs[i].substring(0, strs[i].length()-2);
    character[i] = strs[i].substring(strs[i].length()-2);
  }    
  for(int i=0; i<length; i++) {
    System.out.println(number[i] + " --> " + character[i]);
  }
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧