【发布时间】:2014-06-17 02:50:15
【问题描述】:
我有这个输出[4,-3],[-3,-1],[2,-4],[-4,1]
这是给我这个输出的代码:
public static String[] arg() throws IOException {
String prova =getString().replaceAll(" 0","] [");
String prova1=prova.replaceFirst("0","[");
String prova2=prova1.replaceAll("%0","]");
String prova3=prova2.replaceAll(" ",",");
String prova4=prova3.replaceAll("],["," ");
System.out.println(prova4);
String[] strArray = getString().split(" ");
//System.out.println(Arrays.toString(strArray));
return strArray;
}
我的问题是我会输出这个 [4,-3] [-3,-1] [2,-4] [-4,1] ,也就是说,一个空格代替这个 @987654325 @。我认为String prova4=prova3.replaceAll("],["," "); 应该这样做,但它会产生几个错误。
这是错误:Unclosed character class near index 2
],[
【问题讨论】:
-
replaceAll 的第一个参数是一个正则表达式。见docs.oracle.com/javase/7/docs/api/java/lang/…, java.lang.String)
-
replaceAll使用正则表达式,因此您必须使用\\[和\\]转义括号。重复/类似:stackoverflow.com/questions/14442162/… -
没有必要逃避
]。它在字符类之外没有特殊含义。