我見過幾個關於如何檢索和刪除分隔符之間的字符串的例子。但是,我創建了一個非常簡單的測試用例,並根據各種示例獲取了錯誤的輸出。爲什麼我找回要用作搜索源的字符串而不是我正在搜索的字符串?意外的正則表達式結果
String temp = "56.0 F (13.3C)";
String exp = "((^))";
String p = temp.replace(exp, "");
System.out.println("p=" + p);
我得到字符串56.0F (13.3C)
作爲我的輸出。
我期待得到56.0F
回來。
我也嘗試過使用模式匹配:
Pattern pattern = Pattern.compile(exp);
Matcher matcher = pattern.matcher(temp);
if (matcher.find()) {
System.out.println(matcher.groupCount());
for (int i=0; i<=matcher.groupCount(); i++) {
String groupStr = matcher.group(i);
System.out.println(groupStr);
}
}
2是什麼打印到控制檯
任何想法,我做錯了嗎?我一直在看這個幾個小時。謝謝!
感謝亞歷克斯,現在完美的工作(除了我必須在左右括號之前使用\\轉義序列:\\(。*?\\)。 –