要将一个段落拆分成一个单独的单词数组(比如一个字符串数组),最常见的答案就是:
String para = "ameya needs to win this cup.";
String[] abc = para.split(" ");
但如果包含该段?并且,和;等等,怎么办呢? 例如:
String para = "ameya,needs. to win?this cup.";
答案 0 :(得分: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.,;?]+");
之前描述的一个或多个元素。
所以也许这样试试
{{1}}
答案 1 :(得分:0)
使用正则表达式
String str = "ameya,needs. to win?this cup.";
String [] arr = str.split("[\\s|,|\\.|;|\\?]");