在多个符号上拆分java中的字符串

时间:2013-08-05 14:47:25

标签: java string symbols split

我希望在跟随符号遇到“+, - ,*,/,=”时拆分字符串 我正在使用split函数,但是这个函数只能使用一个参数。而且它不能用于“+”。 我使用以下代码: -

Stringname.split("Symbol");

感谢。

4 个答案:

答案 0 :(得分:38)

String.split将正则表达式作为参数。

这意味着您可以在一个参数中替换任何符号或文本抽象,以便分割String

请参阅文档here

以下是您案例中的一个示例:

String toSplit = "a+b-c*d/e=f";
String[] splitted = toSplit.split("[-+*/=]");
for (String split: splitted) {
    System.out.println(split);
}

输出:

a
b
c
d
e
f

注意:

  • Pattern的保留字符必须使用\\进行双重转义。 修改:此处不需要。
  • 模式中的[]括号表示字符类。
  • 更多关于Pattern s here

答案 1 :(得分:9)

您可以使用正则表达式:

String[] tokens = input.split("[+*/=-]");

注意:-应放在第一个或最后一个位置,以确保它不被视为范围分隔符。

答案 2 :(得分:5)

你需要正则表达式。 Addionaly你需要正则表达式OR运算符:

String[]tokens = Stringname.split("\\+|\\-|\\*|\\/|\\=");

答案 3 :(得分:1)

为此,您需要使用适当的正则表达式语句。您列出的大多数符号都在正则表达式中保留,因此您必须使用\转义它们。

基线表达式为\+|\-|\\|\*|\=。相对容易理解,您想要的每个符号都使用\进行转义,每个符号由|(或)符号分隔。例如,如果您想要添加^,那么您需要做的就是将|\^附加到该语句中。

对于测试和快速表达,我喜欢使用www.regexpal.com