废话不多说,直接上代码。原本的代码:
public class Problem1 {
public static void main(String[] args) {
String s = "H2+O2=H2O";
String[] s1 = s.split("+");
System.out.println(s1[0]);
System.out.println(s1[1]);
}
}
这是一个把字符串按指定字符分割的程序,我们这里按"+“对它进行分割,但是这样的程序Java会抛出异常:
为什么会出现这样的问题呢?实际上是因为split函数传入的不是普通字符串而是正则表达式,所有正则表达式的保留字都需要转义,因此将”+“改为”\+"即可。
public class Problem1 {
public static void main(String[] args) {
String s = "H2+O2=H2O";
String[] s1 = s.split("\\+");
System.out.println(s1[0]);
System.out.println(s1[1]);
}
}
上面的程序可以输出正确的结果: