微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2SE >

java正则表达式截取字符的问题

时间:2014-04-10 09:44  浏览:努力统计中...
Stringsa= temp1,abcb1,temp2d1,defh,ghxsgh ; 现在有个字符串,我想用正则表达式截取temp1,abc,temp2,defh,ghxs,哪位大神知道该怎么做啊 中间有逗号和空格符隔开,b1,d1,gh不要把截取出来 没有
String sa=" temp1,abc b1,temp2 d1,defh,ghxs gh";
现在有个字符串,我想用正则表达式截取temp1,abc,temp2,defh,ghxs,哪位大神知道该怎么做啊
中间有逗号和空格符隔开,b1,d1,gh不要把截取出来

没有环境,不好测试,,,大概思路:按照逗号切割, String s=s.replaceall("(/w+)/s+(/w+)","$1");

应该就是这样吧。。。

  双引号里面是  双斜杠

不懂,标记下

先用逗号分割,然后用空格分割取第一个字符串.

正则:

(?<=^|,)\s*([^,\s]+)



import java.util.regex.*;

public class TestTmp { 
    public static void main(String[] args) {
     String sa=" temp1,abc b1, temp2 d1,defh,ghxs gh";
        //(?<=^|,)\s*([^,\s]+)
        Pattern pattern = Pattern.compile("(?<=^|,)\\s*([^,\\s]+)");
        Matcher matcher = pattern.matcher(sa);
        int count = 0;
        while (matcher.find()) {
            System.out.println("第" + ++count + "项:【" + matcher.group(1) + "】");
        }
    }
}

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线------