简体   繁体   English

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

[英]regex pattern issue with special characters and spaces

I'm trying to extract only the letters using the split method and I'm not getting the expected results. 我试图使用split方法仅提取字母,但没有得到预期的结果。 Here's my code 这是我的代码

    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);
    }

My output looks like: 我的输出看起来像:

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

m

m
a
n

Your regular expression is incorrect, it seems you want the following instead ... 您的正则表达式不正确,似乎您想要以下内容...

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

Ideone Demo Ideone演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM