如果整个String不是“ M”,“ F”或“ M / F”,则我需要一个正则表达式在Java中使用以“ UNKNOWN”替换String。换一种说法:
一种奇怪的情况是“ M /”或“ F /”,应变为“未知”。请帮助,我在这里死了。
我实际上是通过xml映射文件将正则表达式传递到框架中,因此我无法以编程方式控制输出的形成方式。我只能传递一个正则表达式,然后用正则表达式代替。
您可以像这样使用负前瞻:
Pattern.compile("^(?!^(?:M|F|M/F)$).*$");
Run Code Online (Sandbox Code Playgroud)
使用 String#replaceAll 你可以这样做:
String replaced = str.replaceAll("^(?!^(?:M|F|M/F)$).*$", "UNKNOWN");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1170 次 |
| 最近记录: |