[英]Replace special character from String
我正在打印一個String
str =\\'abc\\'
。 它的打印像\\'abc'\\
而不是'abc'
。
我已經嘗試過此選項: str.replaceAll("\\\\", "");
但它給了我java.util.regex.PatternSyntaxException:索引1附近發生意外的內部錯誤
任何人都可以幫助解決此問題。
為什么使用正則表達式可以執行以下操作:
str = str.replace("\\", "");
如果必須使用正則表達式,則需要使用:
str = str.replace("\\\\", "");
由於String和regex引擎bot需要轉義,因此regex在Java中需要兩次轉義。
您的方法:
private static String getNewString(String str) {
str.replaceAll("\\\\", "");
System.out.println("The updated String : "+str);
return str;
}
將返回初始字符串,因為字符串是不可變的。 str.replaceAll將按原樣保留str並將生成一個新字符串。
將您的測試用例更改為此:
public static void main(String ...string) {
String str = "\\'a\\'";
System.out.println("The original String : "+str);
str = getNewString(str);
}
private static String getNewString(String str) {
String rez = str.replaceAll("\\\\", "");
System.out.println("The updated String : "+rez);
return rez;
}
我想你的意思是:
公共課程Abc {
public static void main(String[] args) {
String str ="\'abc\'";
System.out.println(str);
}
}
輸出:'abc'
對我來說這是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.