0

我的程序有问题。在我的程序中,瓶颈是替换和拆分字符串。我需要从字符串中获取要选项卡的单词。

例如:

我有字符串:“这是 Ala。Ala 有猫吗?赚钱的猫。”

我需要得到一个字符串选项卡 [] 和结果

tab[0]="This"<br>
tab[1]="is"<br>
tab[2]="Ala"    not "Ala."<br>
tab[3]="Does"<br>
....<br>
tab[7]="cat" not "cat?"<br>
tab[8]="Money"   not "Money-making"<br>
tab[9]="making"<br>
tab[10]="cat" not "cat."  <br>

单词不能有“,./;!:?- 等符号。它们只能有英文字母。

其实我是这样做的

s = s.replace(",", " ").replace("!", " ")....   ;

String [] tab = s.split("\\s+");

但是这种方式真的很慢。我怎样才能更快地做到这一点?在 Java 语言中。

4

2 回答 2

1

您可以拆分一个或多个非单词字符:

String[] parts = str.split("\\W+");

注意:非单词字符表示除_、字母和数字之外的任何字符。如果您只想要字母,那么您将不得不接受@Bailey S的回答。

于 2012-11-20T21:15:59.003 回答
0

您可以使用 replaceAll。例如 s.replaceAll("[?.,]","")

于 2012-11-20T21:18:15.867 回答