java - 带有特殊字符和空格的正则表达式模式问题

标签 java regex

我尝试使用 split 方法仅提取字母,但没有得到预期的结果。这是我的代码

    Scanner myInput = new Scanner(System.in);
    System.out.println("Enter greeting: ");
    String greeting = myInput.nextLine().toLowerCase();
    String[] myGreeting = greeting.split("(.[^a-z])*");
    for(String stry: myGreeting){
        System.out.println(stry);
    }

我的输出如下:

Enter greeting: 
Hello!! my Man
h
e
l
l

m

m
a
n

最佳答案

您的正则表达式不正确,看来您需要以下内容......

String[] myGreeting = greeting.split("[^a-z]+");

Ideone Demo

关于java - 带有特殊字符和空格的正则表达式模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28845165/

相关文章:

java - Camel AggregationStrategy 生成 NULL 消息体

java - groupingBy 后排序列表

javascript - 如何使用正则表达式转换字符串而不是数字中的字母?

regex - 不甘心回头看

java - 服务器套接字绑定(bind)到哪里?

java - GraphX - 加权最短路径实现 - java.lang.NoSuchMethodError

java - 获取网页中所有HTTP url

python - 编码为 ascii 时丢失引号

regex - 如何在 Perl 中读取包含非 ASCII 字符的 CSV 文件?

java:检查字符串是否包含来自 g-z 的任何字母