Java 用于拆分字符串的正则表达式

Java 用于拆分字符串的正则表达式,java,regex,string,Java,Regex,String,到目前为止,我正在尝试使用正则表达式拆分字符串 String[] words = a.replaceAll("[^a-zA-Z ]","").toLowerCase().split("\\s+"); 这几乎就是我想要的,但是当字符串中有换行符时,我也需要拆分文本(顺便问一下,我应该实际使用换行符还是返回?实际的区别是什么?) 澄清一下,我的意见是: this is a, sample of a file. 在拆分并执行一个对单词进行排序并统计每个单词出现次数的例程之后,我应该得到以下结果:

到目前为止,我正在尝试使用正则表达式拆分字符串

String[] words = a.replaceAll("[^a-zA-Z ]","").toLowerCase().split("\\s+");
这几乎就是我想要的,但是当字符串中有换行符时,我也需要拆分文本(顺便问一下,我应该实际使用换行符还是返回?实际的区别是什么?)

澄清一下,我的意见是:

this is a,
sample of
a file.
在拆分并执行一个对单词进行排序并统计每个单词出现次数的例程之后,我应该得到以下结果:

a: 2
file: 1
is: 1
of: 1
sample: 1
this: 1
相反,我得到:

asample: 1
file: 1
is: 1
ofa: 1
this: 1

如何将正则表达式更正为在换行符处拆分?

使用
\b[A-Za-z]+\b
regexp查找单词匹配项。

使用
\b[A-Za-z]+\b
regexp查找匹配的单词。

使用
\b[A-Za-z]+\b
regexp查找匹配的单词。

使用
\b[A-Za-z]+\b
regexp查找匹配的单词。

您必须按以下方式更换您的替代品:

 a.replaceAll("[^a-zA-Z]+"," ")

或者按照Alexander的建议,为什么不直接查找单词(这更直截了当)

您必须更改替换项所有内容如下:

 a.replaceAll("[^a-zA-Z]+"," ")

或者按照Alexander的建议,为什么不直接查找单词(这更直截了当)

您必须更改替换项所有内容如下:

 a.replaceAll("[^a-zA-Z]+"," ")

或者按照Alexander的建议,为什么不直接查找单词(这更直截了当)

您必须更改替换项所有内容如下:

 a.replaceAll("[^a-zA-Z]+"," ")

或者正如Alexander所建议的,为什么不直接找到单词(更直截了当)

只要在replaceAll方法的第二个参数中插入一个空格,就可以了

replaceAll("[^a-zA-Z ]"," ") 
或者,您可以使用Casimir建议的“+”量词来提高效率,避免replaceAll方法返回的字符串中出现不必要的空格


这两种方法在您的情况下都可以正常工作

只要在replaceAll方法的第二个参数中插入一个空格,就可以了

replaceAll("[^a-zA-Z ]"," ") 
或者,您可以使用Casimir建议的“+”量词来提高效率,避免replaceAll方法返回的字符串中出现不必要的空格


这两种方法在您的情况下都可以正常工作

只要在replaceAll方法的第二个参数中插入一个空格,就可以了

replaceAll("[^a-zA-Z ]"," ") 
或者,您可以使用Casimir建议的“+”量词来提高效率,避免replaceAll方法返回的字符串中出现不必要的空格


这两种方法在您的情况下都可以正常工作

只要在replaceAll方法的第二个参数中插入一个空格,就可以了

replaceAll("[^a-zA-Z ]"," ") 
或者,您可以使用Casimir建议的“+”量词来提高效率,避免replaceAll方法返回的字符串中出现不必要的空格

在你的情况下,这两种方法都可以