- \
- /
- :
- *
- ?
- "
- <
- >
- |
String t = "a\\b/c:d*e?f\"g'h<i>j|k"; // 多加了一個單引號只有反斜線(\)和雙引號(")要特別處理,而且一次要用四個反斜線才能掉一個反斜線。
t = Pattern.compile("[\\\\/:*?\"'<>|]").matcher(t).replaceAll("_"); // 天書在此
事情一下就結束了!
String t = "a\\b/c:d*e?f\"g'h<i>j|k"; // 多加了一個單引號只有反斜線(\)和雙引號(")要特別處理,而且一次要用四個反斜線才能掉一個反斜線。
t = Pattern.compile("[\\\\/:*?\"'<>|]").matcher(t).replaceAll("_"); // 天書在此
春天 -> <b>春天</b>中文關鍵字沒啥問題,麻煩在英文字highlight上,如果原文是這樣『Spring spring SPRING』,按照之前的作法就會變成『<b>spring</b> <b>spring</b> <b>spring</b>』,原文的大小寫不見了。
String inputStr = "Spring spring SPRING";
// 不分大小寫作搜尋,括號是重點
Pattern pattern = Pattern.compile("(spring)", Pattern.CASE_INSENSITIVE);
// Pattern pattern = Pattern.compile("(?i)(spring)");
Matcher matcher = pattern.matcher(inputStr);
// $0 表示第一組括號內的字串
String result = matcher.replaceAll("<b>$0</b>");
// <b>Spring</b> <b>spring</b> <b>SPRING</b>
System.out.println(result);