MarkDacek commented on a change in pull request #395: Replaces the given String, with the String which is nested in between two Strings.
URL:
https://github.com/apache/commons-lang/pull/395#discussion_r247362123
##########
File path: src/main/java/org/apache/commons/lang3/StringUtils.java
##########
@@ -3124,6 +3124,41 @@ public static String substringBetween(final String str, final String open, final
return list.toArray(new String [list.size()]);
}
+ /**
+ * <p>Replaces the given String, with the String which is nested in between two Strings.</p>
+ *
+ * <p>A {@code null} input String returns {@code null}.
+ * A {@code null} open/close returns {@code null} (no match).
+ * An empty ("") open and close returns an empty string.</p>
+ *
+ * @param str the String containing the substring, may be null
+ * @param replace the Sting to be replaced, which is nested in between open and close substrings
+ * @param open the String before the substring, may be null
+ * @param close the String after the substring, may be null
+ * @return the substring, {@code null} if no match
+ */
+ public static String replaceSubstringInBetween(final String str, final String replace, final String open, final String close) {
+ if (str == null || open == null || close == null) {
+ return null;
+ }
+ final int start = str.indexOf(open);
+ if (start != INDEX_NOT_FOUND) {
+ String preceding = "";
+ if (start > 0) {
+ preceding = str.substring(0, start);
Review comment:
Similar to my comment below, I'd think it wise to simplify.
`String preceding = str.substring(0, start + open.length());`
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[hidden email]
With regards,
Apache Git Services