使用^,java split无法正常工作

Ing*_*rid 3 java split

我想为角色分割一个字符串,^但它不起作用.我有以下代码:

String numberBase10 = "3.52*10^2";
String[] vector = numberBase10.split("^"); 
System.out.println("numberBase10: " + numberBase10);
System.out.println("Vector[0]: " vector[0]);
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

numberBase10: 3.52*10^2
Vector[0]: 3.52*10^2
Run Code Online (Sandbox Code Playgroud)

如果我尝试访问vector [1],我会得到错误IndexOutOfArray.

我必须放任何转义字符,以便拆分工作^吗?

谢谢

Kay*_*man 8

你需要逃避它\\^.

^本身就是一个特殊的字符,意思是否定(在一个组中,例如[^ abc],它匹配除abc之外的任何东西)或者用于行首的锚点.


Rei*_*eus 8

split采取正则表达式.^是一个用于匹配正则表达式中字符串开头的锚点,因此需要进行转义

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