我有一些现有的Java代码
Pattern regex = Pattern.compile(regexStr, Pattern.CASE_INSENSITIVE);
Matcher m = regex.matcher(value);
String replace= m.replaceAll(regexReplaceStr);
这在我的项目中是硬编码的。我无法改变它。我只能通过配置设置值regexStr
和regexReplaceStr
。我需要做的是
在这种情况下,我的字符串regexStr
和regexReplaceStr
应该是什么?
例如,我有
regexStr = "^[^_]+_(.*)$"
regexReplace = "$0"
现在,如果输入字符串为AA_BBB
,则返回的值为AA_BBB
。现在,如果输入字符串是AABBB
,我希望它返回空字符串。怎么办呢?
答案 0 :(得分:1)
首先,代码不清楚。没有提到“价值”......
Matcher m = regex.matcher(value);
^ ^
这段代码也没有背景。
它被用作方法吗?用户输入?
您可以在代码后添加:
if (replace == null) {
replace = "";
}
然后它将用空字符串替换null。
但是我做了与你相同的代码,但它从未返回null ...