我希望在跟随符号遇到“+, - ,*,/,=”时拆分字符串 我正在使用split函数,但是这个函数只能使用一个参数。而且它不能用于“+”。 我使用以下代码: -
Stringname.split("Symbol");
感谢。
答案 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