如何在java中使用'^'这个特殊字符拆分字符串?

Man*_*vel 12 java

我想拆分以下字符串"Good ^ Evening"我使用拆分选项它不拆分值.请帮我.

这就是我一直在尝试的:

String Val = "Good^Evening";
String[] valArray = Val.Split("^");
Run Code Online (Sandbox Code Playgroud)

Oli*_*rth 32

我假设你做了类似的事情:

String[] parts = str.split("^");
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为参数split实际上是一个正则表达式,^具有特殊含义.试试这个:

String[] parts = str.split("\\^");
Run Code Online (Sandbox Code Playgroud)

\\是真的等同于一个单一的\(第一个\被要求在字符串字面量在Java转义序列).它是正则表达式中的一个特殊字符,意思是"从字面上理解下一个字符,不要解释它的特殊含义".


Ste*_*n C 7

您应该使用的正则表达式是"\ ^",您将其编写为"\\^"Java String文字; 即

String[] parts = "Good^Evening".split("\\^");
Run Code Online (Sandbox Code Playgroud)

正则表达式需要'\'转义,因为插入符号('^')是正则表达式语言中的元字符.第二个'\'转义是必需的,因为'\'是String文字中的转义符.