如何使用“拆分”拆分java字符串;(“什么;?
我正在尝试拆分一个带有“(”字符的java字符串 例如: 拆分(“wer(sde”)=“wer”+“sde” 但是它给出了一个例外。有没有一种方法可以使用split()函数拆分这个字符串,而不将字符“(”改为其他字符如何使用“拆分”拆分java字符串;(“什么;?,java,regex,string,split,Java,Regex,String,Split,我正在尝试拆分一个带有“(”字符的java字符串 例如: 拆分(“wer(sde”)=“wer”+“sde” 但是它给出了一个例外。有没有一种方法可以使用split()函数拆分这个字符串,而不将字符“(”改为其他字符 String[] cp=cmd.split("{"); 输出: 线程“main”java.util.regex.PatternSyntaxException中的异常:非法重复问题是,接收一个正则表达式作为参数。{}和()都是元字符,在正则表达式中有特殊含义,因此需要像这样对它们进
String[] cp=cmd.split("{");
输出:
线程“main”java.util.regex.PatternSyntaxException中的异常:非法重复问题是,接收一个正则表达式作为参数。{}
和()
都是元字符,在正则表达式中有特殊含义,因此需要像这样对它们进行转义:
String[] cp = cmd.split("\\(|\\)");
String
接受String
的方法,该参数为正则表达式:
由于(
是正则表达式中的保留字符,因此需要对其进行转义\(
但是在Java中,需要两次转义
\\(
),一次转义字符串,第二次转义正则表达式
这使得:
s.split("\\(");
括号在正则表达式中表示某种含义,它们用于将字符分组在一起。因此,如果要引用文字字符,'('
必须在正则表达式中对其进行转义:
String[] cp = cmd.split("\\(");
请注意使用两个反斜杠。这是因为JVM也会将反斜杠解释为元字符以进行转义,因此必须用另一个反斜杠转义反斜杠本身,以便将其放入正则表达式中。用\\字符/表达式转义,在正则表达式中具有特定含义必须是escape被解释为字符。split(\\(“”;@Basi编译错误,\(
不是有效的Java字符,需要第二次转义\(
或split([()”)
),因为您想在(
或)
-在[]
内部,它们失去了特殊的意义
String[] cp = cmd.split("\\(");