Regex 只保留字母和空格的正则表达式?

Regex 只保留字母和空格的正则表达式?,regex,Regex,这个正则表达式适用于单词变量,但它删除了定义变量中不需要的所有空白。很难理解为什么 String word = "cheese[1]" String definition = "[:the quality of being too obviously sentimental]" String regex = "[^A-Za-z]+"; // how to get it to exclude whitespace? finaldefinition = finaldefinitio

这个正则表达式适用于单词变量,但它删除了定义变量中不需要的所有空白。很难理解为什么

String word = "cheese[1]"

String definition = "[:the quality of being too obviously sentimental]"

String regex = "[^A-Za-z]+";       // how to get it to exclude whitespace?

finaldefinition = finaldefinition.replaceAll(regex,"")
输出:

cheese
the quality of being too obviously sentimental
单词=奶酪

定义=明显具有真实性的质量

预期结果:

单词=奶酪

定义=过于明显的多愁善感


谢谢你抽出时间

你在找这个吗

public static void main(String[] args) {        
    String[] strs = new String[] {"cheese[1]", "[:the quality of being too obviously sentimental]"};
    for (String m: strs){
        System.out.println(m.replaceAll("[^a-zA-Z ]", ""));     
}
输出:

cheese
the quality of being too obviously sentimental

您可以将
[^A-Za-z]+
用于:

  • 任何字符,除了
    • 大写字母
    • 小写字母
    • 空白
[^A-Za-z\s]+
用于:

  • 任何字符,除了
    • 大写字母
    • 小写字母
    • 空白(空白、制表符、换行符)

第三种选择:首先将
\s
替换为
,这样制表符和换行符将变为空白

[^A-Za-z\s]+
,如果您想保留制表符和其他形式的空白。哈哈,谢谢。就这么简单吧/掌纹