[英]Java replaceAll method return null when no match
我有一些現有的 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
,我希望它返回一個空字符串。 如何才能做到這一點?
首先,代碼不清楚。 沒有提到“價值”...
Matcher m = regex.matcher(value);
^ ^
並且也沒有關於這段代碼的上下文。
是否用作方法? 用戶輸入?
您可以在代碼后添加:
if (replace == null) {
replace = "";
}
然后它將用空字符串替換 null。
但是我做了和你一樣的代碼,但它從來沒有返回空......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.