微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

扫描仪定界符,Reg表达问题

如何解决扫描仪定界符,Reg表达问题

| 我在使用reg时遇到了一个小问题。扫描仪表达 这是代码
String name;
    Pattern p = Pattern.compile(\"\\\\s+|\\\\W+|\\\\_+\");
    ArrayList<String> reay = new ArrayList<String>(1000);
    try {
        Scanner asdf = new Scanner(new File(s)).useDelimiter(p);
        while (asdf.hasNext()) {
            name = asdf.next();
            reay.add(name);

        }
        asdf.close();
    }
和结果数组(在文本文件中使用很多非单词字符):
[arst,tdnxc,rst,arst,wfp,arst]
不知道我缺少什么以及为什么我在数组中获得空白条目     

解决方法

        您的正则表达式匹配一个或多个空格,然后匹配一个或多个非单词,然后匹配一个或多个下划线。 因此对于\“ $ _ \”的输入,它将说,空格是匹配项!捕获下一个定界符之前的内容... $是一个匹配项!返回空格和$之间的空字符串。捕获下一个定界符之前的内容。_是匹配项!返回$和_之间的空字符串。 我认为您的分隔符是:
[\\\\s\\\\W_]+
    ,        可能是因为您使用空格或非单词字符或下划线作为分隔符。如果您例如他们中有几个混在一起吗?     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。