in appactive-java-api/src/main/java/io/appactive/java/api/utils/lang/StringUtils.java [231:264]
private static String substringP(String str, int start, int end) {
if (str == null) {
return null;
}
// handle negatives
if (end < 0) {
// remember end is negative
end = str.length() + end;
}
if (start < 0) {
// remember start is negative
start = str.length() + start;
}
// check length next
if (end > str.length()) {
end = str.length();
}
// if start is greater than end, return ""
if (start > end) {
return EMPTY;
}
if (start < 0) {
start = 0;
}
if (end < 0) {
end = 0;
}
return str.substring(start, end);
}