Java 拆分 ^ (插入符号?) 不起作用,这是一个特殊字符吗?

2022-09-01 16:52:48

在Java中,我试图在字符上分裂,但它无法识别它。转义会引发代码错误。^\^

这是一个特殊的字符,还是我需要做其他事情才能让它识别它?

String splitChr = "^";
String[] fmgStrng = aryToSplit.split(splitChr); 

答案 1

是 Java 正则表达式中的一个特殊字符 - 它表示输入的“匹配开头”。^

您将需要使用 来转义它。需要双斜杠来转义 ,否则Java的编译器会认为您正在尝试在字符串中使用特殊序列,类似于换行符。"\\^"\\^\n

\^虽然不是一个特殊的转义序列,所以你会得到编译器错误。

简而言之,请使用 ."\\^"


答案 2

^ 与字符串的开头匹配。您需要转义它,但在这种情况下,您需要转义它,以便正则表达式解析器理解这意味着转义转义,因此:

String splitChr = "\\^";
...

应该得到你想要的。