0
我需要一個正則表達式模式,它可以掩蓋在java中的字符串中的替代2字符。但是我們無法預測的輸入字符串。例如在java中使用正則表達式的字符串中的替代字符
String pattern = "abcdefgh";
OutPut: "ab\*\*ef\*\*"
所以表達應該是通用的。不特定針對上面的字符串
我需要一個正則表達式模式,它可以掩蓋在java中的字符串中的替代2字符。但是我們無法預測的輸入字符串。例如在java中使用正則表達式的字符串中的替代字符
String pattern = "abcdefgh";
OutPut: "ab\*\*ef\*\*"
所以表達應該是通用的。不特定針對上面的字符串
這應該爲你工作:
public static void main(String[] args) {
String pattern = "abcdefghijklmnop";
System.out.println(pattern.replaceAll("(\\w{2})(\\w{2})", "$1**"));
}
O/P:
ab**ef**ij**mn**
replaceAll("(\\w{2})(\\w{2})", "$1**"))
==>替換2組,每組2個字符爲「2個字符,* *」。
請注意,如果您有奇數字符,最後一個字符不會被屏蔽。這應該解決它==>System.out.println(pattern.replaceAll("(\\w{2})(\\w{2})", "$1**").replaceAll("(\\w{2})\\w$", "$1*"));
非常感謝,但有一件事我發現,如果我給奇數的字符,如String ex =「1234567」;那麼出來將是12 ** 567你可以修改此爲12 ** 56 * – Jam
@Jam - 檢查我的編輯 – TheLostMind
@JAM - 請注意,在這裏使用'模式'和'匹配器'將是一個更好的解決方案:) – TheLostMind