当有多个标准要拆分时,如何在java中拆分字符串

时间:2013-06-16 18:35:17

标签: java string

要将一个段落拆分成一个单独的单词数组(比如一个字符串数组),最常见的答案就是:

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

但如果包含该段?并且,和;等等,怎么办呢? 例如:

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

2 个答案:

答案 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|,|\\.|;|\\?]");