我有這個字串"person","hobby","key",我想洗掉" "所有單詞,除了key 這樣輸出將是person,hobby,"key"
String str = "\"person\",\"hobby\",\"key\"";
System.out.println(str "\n");
str=str.replaceAll("/*regex*/","");
System.out.println(str); //person,hobby,"key"
uj5u.com熱心網友回復:
您可以使用以下模式:
\"(?!key\")(. ?)\"
并替換為$1
細節:
\"- 匹配雙引號字符。(?!key\")- Negative Lookahead(后面不跟單詞“key”和另一個雙引號)。(. ?)- 匹配一個或多個字符(惰性)并在第 1 組中捕獲它們。\"- 匹配另一個雙引號字符。替換:
$1- 對第 1 組中匹配的任何內容的反向參考。
正則運算式演示。
這是一個完整的例子:
String str = "\"person\",\"hobby\",\"key\"";
String pattern = "\"(?!key\")(. ?)\"";
String result = str.replaceAll(pattern, "$1");
System.out.println(result); // person,hobby,"key"
在線嘗試。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/470757.html
