persistence.antlr.StringUtils Maven / Gradle / Ivy
package persistence.antlr;
public class StringUtils {
/** General-purpose utility function for removing
* characters from back of string
* @param s The string to process
* @param c The character to remove
* @return The resulting string
*/
static public String stripBack(String s, char c) {
while (s.length() > 0 && s.charAt(s.length() - 1) == c) {
s = s.substring(0, s.length() - 1);
}
return s;
}
/** General-purpose utility function for removing
* characters from back of string
* @param s The string to process
* @param remove A string containing the set of characters to remove
* @return The resulting string
*/
static public String stripBack(String s, String remove) {
boolean changed;
do {
changed = false;
for (int i = 0; i < remove.length(); i++) {
char c = remove.charAt(i);
while (s.length() > 0 && s.charAt(s.length() - 1) == c) {
changed = true;
s = s.substring(0, s.length() - 1);
}
}
} while (changed);
return s;
}
/** General-purpose utility function for removing
* characters from front of string
* @param s The string to process
* @param c The character to remove
* @return The resulting string
*/
static public String stripFront(String s, char c) {
while (s.length() > 0 && s.charAt(0) == c) {
s = s.substring(1);
}
return s;
}
/** General-purpose utility function for removing
* characters from front of string
* @param s The string to process
* @param remove A string containing the set of characters to remove
* @return The resulting string
*/
static public String stripFront(String s, String remove) {
boolean changed;
do {
changed = false;
for (int i = 0; i < remove.length(); i++) {
char c = remove.charAt(i);
while (s.length() > 0 && s.charAt(0) == c) {
changed = true;
s = s.substring(1);
}
}
} while (changed);
return s;
}
/** General-purpose utility function for removing
* characters from the front and back of string
* @param s The string to process
* @param head exact string to strip from head
* @param tail exact string to strip from tail
* @return The resulting string
*/
public static String stripFrontBack(String src, String head, String tail) {
int h = src.indexOf(head);
int t = src.lastIndexOf(tail);
if (h == -1 || t == -1) return src;
return src.substring(h + 1, t);
}
}