C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Between: This returns a possible substring between the second and third arguments (a and b). On failure, it returns an empty string.
Before: This is a simple method that returns the part of the string that occurs before the first index of the substring.
After: This does the opposite of the before() method. It is also simple and requires minimal logic.
Java program that implements between, before, after
public class Program {
static String between(String value, String a, String b) {
// Return a substring between the two strings.
int posA = value.indexOf(a);
if (posA == -1) {
return "";
}
int posB = value.lastIndexOf(b);
if (posB == -1) {
return "";
}
int adjustedPosA = posA + a.length();
if (adjustedPosA >= posB) {
return "";
}
return value.substring(adjustedPosA, posB);
}
static String before(String value, String a) {
// Return substring containing all characters before a string.
int posA = value.indexOf(a);
if (posA == -1) {
return "";
}
return value.substring(0, posA);
}
static String after(String value, String a) {
// Returns a substring containing all characters after a string.
int posA = value.lastIndexOf(a);
if (posA == -1) {
return "";
}
int adjustedPosA = posA + a.length();
if (adjustedPosA >= value.length()) {
return "";
}
return value.substring(adjustedPosA);
}
public static void main(String[] args) {
// Test this string.
final String test = "DEFINE:A=TWO";
// Call between, before and after methods.
System.out.println(between(test, "DEFINE:", "="));
System.out.println(between(test, ":", "="));
System.out.println(before(test, ":"));
System.out.println(before(test, "="));
System.out.println(after(test, ":"));
System.out.println(after(test, "DEFINE:"));
System.out.println(after(test, "="));
}
}
Output
A
A
DEFINE
DEFINE:A
A=TWO
A=TWO
TWO
Define: In the main() method above, the string "DEFINE" could be used to set the variable A to the value TWO.
And: The between, before and after methods can be used to parse parts of this declarative statement.
And: These simple String methods help with writing correct code. The special value -1 is handled, avoiding possible exceptions.