Skip to content

Commit 2857cbd

Browse files
authored
Merge branch 'apache:master' into upstream_fork_autoreset_1
2 parents 4081cf8 + 4323a72 commit 2857cbd

1 file changed

Lines changed: 12 additions & 18 deletions

File tree

pinot-common/src/main/java/org/apache/pinot/common/function/scalar/string/StringFunctions.java

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.pinot.common.function.scalar.string;
2020

2121
import org.apache.commons.lang3.StringUtils;
22+
import org.apache.commons.lang3.Strings;
2223
import org.apache.pinot.spi.annotations.ScalarFunction;
2324

2425

@@ -54,35 +55,28 @@ public String concatWS(String separator, String input1, String input2) {
5455
}
5556

5657
/**
57-
* @param input
58-
* @param searchString target substring to replace
59-
* @param substitute new substring to be replaced with target
60-
* @see String#replaceAll(String, String)
58+
* @see Strings#replace(String, String, String)
6159
*/
6260
@ScalarFunction
63-
public String replace(String input, String searchString, String substitute) {
64-
if (StringUtils.isEmpty(input) || StringUtils.isEmpty(searchString) || substitute == null) {
65-
return input;
61+
public String replace(String text, String searchString, String replacement) {
62+
if (text.isEmpty() || searchString.isEmpty()) {
63+
return text;
6664
}
6765
int start = 0;
68-
int end = StringUtils.indexOf(input, searchString, start);
66+
int end = Strings.CS.indexOf(text, searchString, start);
6967
if (end == StringUtils.INDEX_NOT_FOUND) {
70-
return input;
68+
return text;
7169
}
7270
final int replLength = searchString.length();
73-
int increase = Math.max(substitute.length() - replLength, 0) * 16;
71+
int increase = Math.max(replacement.length() - replLength, 0) * 16;
7472
_buffer.setLength(0);
75-
_buffer.ensureCapacity(input.length() + increase);
76-
int max = -1;
73+
_buffer.ensureCapacity(text.length() + increase);
7774
while (end != StringUtils.INDEX_NOT_FOUND) {
78-
_buffer.append(input, start, end).append(substitute);
75+
_buffer.append(text, start, end).append(replacement);
7976
start = end + replLength;
80-
if (--max == 0) {
81-
break;
82-
}
83-
end = StringUtils.indexOf(input, searchString, start);
77+
end = Strings.CS.indexOf(text, searchString, start);
8478
}
85-
_buffer.append(input, start, input.length());
79+
_buffer.append(text, start, text.length());
8680
return _buffer.toString();
8781
}
8882
}

0 commit comments

Comments
 (0)