以下代码,
String str1 = "1234\\q\23";
String str2 = "1234\\q";
str1 = str1.replaceFirst( str2,"");执行的时候为什么会出异常呢!
java.util.regex.PatternSyntaxException: Illegal/unsupported escape squence near index 5
String str1 = "1234\\q\23";
String str2 = "1234\\q";
str1 = str1.replaceFirst( str2,"");执行的时候为什么会出异常呢!
java.util.regex.PatternSyntaxException: Illegal/unsupported escape squence near index 5
str2的正则表达式不正确,\\q没有意义不被支持,而如\\d则可以,建议看正则表达式的知识
如果你想把"1234\\q\23"替换为"\23"
把str1改为"1234\\q\\23"
把str2改为"1234\\\\."就可以
路径2 str2:C:\1234\
想替换掉C:\1234\,得到q该怎么处理呢
public String caster(){
String str2 = "1234\\pq";
String str[] = new String[str2.length()];
String path = "";
int len = str2.length()-1;
for(int i=0;i<str2.length();i++){
if(str2.charAt(len)=='\\'){
for(int j=len;j>=0;j--){
if(str[j]!=null){
path += str[j];
}
}
return path;
}
else{
str[i] = String.valueOf(str2.charAt(len));
len--;
}
}
return path;
}
public static void main(String args[]){
System.out.println(new Filter().caster());
}}已测试通过