首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java语言模式

java语言模式
EN

Stack Overflow用户
提问于 2012-01-04 09:08:33
回答 4查看 118关注 0票数 1

我试图从字符串(如(111,222,ttt,qwerty)值列表)中获取

  • 111
  • 222
  • ttt
  • qwerty

我试过这样的模式:

代码语言:javascript
复制
String area = "(111,222,ttt,qwerty)";
    String pattern = "\\([([^,]),*]+\\)";
            Pattern p = Pattern.compile(pattern);
            Matcher m = p.matcher(area);
            System.out.println(m.groupCount());
            ArrayList<String> values = new ArrayList<String>();
            while(m.find()){
                System.out.println("group="+m.group(1));
                values.add(m.group());
            }

但我发现那组数是零。我错过了什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-04 09:13:27

假设您始终具有相同的字符串格式,则只需尝试:

代码语言:javascript
复制
String[] split = area.split("\\(|\\)|,");
票数 2
EN

Stack Overflow用户

发布于 2012-01-04 09:13:08

它应该是(...)+而不是[...]+ (字符)。

票数 0
EN

Stack Overflow用户

发布于 2012-01-04 09:32:50

如果只有包含英文字母和数字的单词没有空格,

您可以使用下面的regexp来实现这一点。

代码语言:javascript
复制
String pattern = "[a-zA-Z0-9]+";

它检查只包含数字和大写/小写英文字母的字符组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8724344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档