[英]Replace a string by character code instead of regex?
Java(或任何其他第三方庫)是否提供了用於基於字符代碼(當然在已知Charset
內)而不是基於正則表達式的Charset
替換的API? 例如,要將給定字符串中的雙引號替換為單引號,可以使用:
String noDoubles = containsDoubles.replace("\"", "'");
但是,雙引號的UTF-8字符代碼是U+0022
。 那么,有什么可以搜索U+0022
字符實例並將其替換為單引號的東西嗎?
另外,我不僅在這里詢問雙引號或單引號,我還說的是字符代碼查找和任意2個字符的替換。
使用重載版本String#replace(char, char)
接受字符。 因此,您可以像這樣使用它:
String str = "aa \" bb \"";
str = str.replace('\u0022', '\'');
System.out.println(str); // aa ' bb '
只需使用unicode文字即可:
// I'm using an unicode literal for "
String noDoubles = containsDoubles.replace('\u0022', '\'');
只要您知道相應的代碼,以上內容就可以用於任何字符。
您還可以使用正則表達式。 從Javadoc :
\\ xhh十六進制值為0xhh的字符
\\ uhhhh十六進制值為0xhhhh的字符
因此,您可以這樣寫:
String noDoubles = containsDoubles.replace("\\u0022", "'");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.