我正在尝试获取以下字符串:
8374651-37374-19283-284745800
928S-29ED374-872B34-932837
26598TA-297374-CND283-16373
82911-LD391DB-632D-4927831
通过java正则表达式看起来像这样:
XXXXXXX-XXXXX-XXXXX-284745800
XXXX-XXXXXXX-XXXXXX-932837
XXXXXXX-XXXXXX-XXXXXX-16373
XXXXX-XXXXXXX-XXXX-4927831
并且每个连字符之间的字符串长度没有模式。
用 X 替换除连字符之外的所有内容可能很容易,但对我来说很难排除最后一部分。
最佳答案
使用string.replaceAll
函数。
string.replaceAll("[^-\\n](?=.*?-)", "X");
这匹配后面跟有连字符的所有字符(但不是连字符)。它不会匹配最后一部分,因为它后面没有连字符。
关于java - 在java中,向具有特定模式的字符串添加掩码的正则表达式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29126652/