Hus*_*ala 10 java regex string patternsyntaxexception
如何更换一个'\'带有'\\'?当我运行时,replaceAll()我收到此错误消息.
Exception in thread "main" java.util.regex.PatternSyntaxException:
Unexpected internal error near index 1 \
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.compile(Pattern.java:1466)
at java.util.regex.Pattern.<init>(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:823)
at java.lang.String.replaceAll(String.java:2190)
at NewClass.main(NewClass.java:13)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)
我的代码:
public class NewClass {
public static void main(String[] args) {
String str = "C:\\Documents and Settings\\HUSAIN\\My Documents\\My Palettes";
str = str.replaceAll("\\", "\\\\");
System.out.println(str);
}
}
Run Code Online (Sandbox Code Playgroud)
Mik*_*ike 18
String.replaceAll(String,String) 是正则表达式.
String.replace(String,String) 会做你想做的.
下列...
String str = "C:\\Documents and Settings\\HUSAIN\\My Documents\\My Palettes";
System.out.println(str);
str = str.replace("\\", "\\\\");
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)
生产...
C:\ Documents and Settings\HUSAIN\My Documents\My Palettes
C:\\ Documents and Settings \\ HUSAIN \\ My Documents \\ My Palettes
Ada*_*der 11
\也是regexp中的一个特殊字符.这就是为什么你应该做这样的事情:
str = str.replaceAll("\\\\", "\\\\\\\\");
Run Code Online (Sandbox Code Playgroud)