Java如何像我预期的那样使用正则表达式掩码numberic
建议我有以下两个价值观:Java如何像我预期的那样使用正则表达式掩码numberic,java,regex,Java,Regex,建议我有以下两个价值观: 123456789 123456789111 String.replaceAll是否可以执行以下操作 123456789 -> XXXXXX789 123456789111 -> XXXXXXXXX111 对于掩码,最后三个数字,但将其他字符替换为X?请注明样品中X的数量 提前感谢。是的,replaceAll函数将完成此工作 String s1 = "1
123456789
123456789111
String.replaceAll是否可以执行以下操作
123456789 -> XXXXXX789
123456789111 -> XXXXXXXXX111
对于掩码,最后三个数字,但将其他字符替换为X?请注明样品中X的数量
提前感谢。是的,replaceAll函数将完成此工作
String s1 = "123456789";
String s2 = "123456789111";
System.out.println(s1.replaceAll("\\d(?=\\d{3})", "X"));
System.out.println(s2.replaceAll("\\d(?=\\d{3})", "X"));
输出:
XXXXXX789
XXXXXXXXX111
XXXXXX789
XXXXXXXXX111
说明:
XXXXXX789
XXXXXXXXX111
XXXXXX789
XXXXXXXXX111
仅当数字后跟三位数字时才匹配该数字。所以它在最后三位失败了。最后,所有匹配的数字都被字母\\d(?=\\d{3})
X
String s1 = "123456789";
String s2 = "123456789111";
System.out.println(s1.replaceAll("\\d(?=\\d{3})", "X"));
System.out.println(s2.replaceAll("\\d(?=\\d{3})", "X"));
输出:
XXXXXX789
XXXXXXXXX111
XXXXXX789
XXXXXXXXX111
说明:
XXXXXX789
XXXXXXXXX111
XXXXXX789
XXXXXXXXX111
仅当数字后跟三位数字时才匹配该数字。所以它在最后三位失败了。最后,所有匹配的数字都被字母\\d(?=\\d{3})
X
X
。放置标志m
和g
。请参阅演示
尝试此操作。替换为X
。放置标志m
和g
。请参阅演示
是的,您可以:
public static void main(String[] args) {
String s1 = "123456789";
String s2 = "123456789111";
String regex = "\\d(?=\\d{3})"; // each digit followed by exactly 3 digits should be replaced by X
System.out.println(s1.replaceAll(regex, "X"));
System.out.println(s2.replaceAll(regex, "X"));
}
O/p:
是的,你可以:
public static void main(String[] args) {
String s1 = "123456789";
String s2 = "123456789111";
String regex = "\\d(?=\\d{3})"; // each digit followed by exactly 3 digits should be replaced by X
System.out.println(s1.replaceAll(regex, "X"));
System.out.println(s2.replaceAll(regex, "X"));
}
O/p: