使用java中的Regex在String中屏蔽替代字符

时间:2016-09-26 10:18:39

标签: java regex string

我需要一个正则表达式模式,它可以掩盖java中字符串中的备用2个字符..但是输入字符串我们无法预测。例如

String pattern = "abcdefgh";
OutPut: "ab\*\*ef\*\*"

因此表达式应该是常见的。不是特定于上面的字符串

1 个答案:

答案 0 :(得分:1)

这应该适合你:

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*"));