-3

要将段落拆分为单个单词的数组(例如字符串数组),最常见的答案是:

String para = "ameya needs to win this cup.";
String[] abc = para.split(" ");

但是,如果 para 包括在内?和 , 的和 ; 等等,这怎么做?例如:

String para = "ameya,needs. to win?this cup.";
4

2 回答 2

1

String#split(arg)将正则表达式作为参数,在正则表达式中,如果你想匹配多个字符之一,那么你可以使用这种形式(a|b|c|...|z),这意味着吃掉的字符a OR b OR c OR [...] OR z(而不是...你实际上需要放置其余的字母)。

但由于这种形式很难看,您可以使用看起来[abcd...z]. 但这也可以使用范围字符进行一些优化[a-z]

现在让我们回到你的问题。如果要匹配所有空格和其他字符,则可以尝试在每个[\\s.,;?]. 此外,如果您想拆分单个字符组,您可以使用[\\s.,;?]+. +表示前面描述的一个或多个元素+

所以也许试试这种方式

String[] abc = para.split("[\\s.,;?]+");
于 2013-06-16T18:55:20.153 回答
0

使用正则表达式

String str = "ameya,needs. to win?this cup.";
String [] arr = str.split("[\\s|,|\\.|;|\\?]");
于 2013-06-16T18:46:54.923 回答