TDI-36562 : Avoid locale dependant string comparison

- Fix compilation and simplify the code
This commit is contained in:
Pierre Teyssier
2016-06-22 22:47:29 +08:00
parent 19e5635963
commit 6d85ebe78b

View File

@@ -339,7 +339,7 @@ public class StringUtils {
return null; // regex != null && src == null
} else {
// case 3:
if (replacement == null) {
if (replacement == null || entirelyMatch) {
if ((caseSensitive && src.equals(search)) || (!caseSensitive && src.equalsIgnoreCase(search))) {
// regex != null && src != null && replacement != null, and match the whole src
return replacement;
@@ -348,13 +348,8 @@ public class StringUtils {
}
} else {
// regex != null && src != null && replacement != null
if (entirelyMatch) {
return caseSensitive ? src.equals(search) : src.equalsIgnoreCase(search);
} else {
int flag = caseSensitive ? Pattern.LITERAL : Pattern.LITERAL | Pattern.CASE_INSENSITIVE;
return Pattern.compile(search, flag).matcher(src).replaceAll(Matcher.quoteReplacement(replacement));
}
int flag = caseSensitive ? Pattern.LITERAL : Pattern.LITERAL | Pattern.CASE_INSENSITIVE;
return Pattern.compile(search, flag).matcher(src).replaceAll(Matcher.quoteReplacement(replacement));
}
}
}