*/
package jalview.util;
-import java.util.Locale;
-
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
+import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtils
{
return s.toUpperCase(Locale.ROOT);
}
- return s.substring(0, 1).toUpperCase(Locale.ROOT) + s.substring(1).toLowerCase(Locale.ROOT);
+ return s.substring(0, 1).toUpperCase(Locale.ROOT)
+ + s.substring(1).toLowerCase(Locale.ROOT);
}
/**
{
text = text.substring(0, endTag);
}
-
+
if (startTag == -1 && (text.contains("<") || text.contains(">")))
{
text = text.replaceAll("<", "<");
}
/**
- * Answers the input string with any occurrences of the 'encodeable' characters
- * replaced by their URL encoding
+ * Answers the input string with any occurrences of the 'encodeable'
+ * characters replaced by their URL encoding
*
* @param s
* @param encodable
}
return enc;
}
+
+ public static int firstCharPosIgnoreCase(String text, String chars)
+ {
+ int min = text.length() + 1;
+ for (char c : chars.toLowerCase(Locale.ROOT).toCharArray())
+ {
+ int i = text.toLowerCase(Locale.ROOT).indexOf(c);
+ if (0 <= i && i < min)
+ {
+ min = i;
+ }
+ }
+ return min < text.length() + 1 ? min : -1;
+ }
+
+ public static int indexOfFirstWhitespace(String text)
+ {
+ int index = -1;
+ Pattern pat = Pattern.compile("\\s");
+ Matcher m = pat.matcher(text);
+ if (m.find())
+ {
+ index = m.start();
+ }
+ return index;
+ }
+
+ /*
+ * implementation of String.replaceLast.
+ */
+ public static String replaceLast(String string, String toReplace,
+ String replacement)
+ {
+ int pos = string.lastIndexOf(toReplace);
+ if (pos > -1)
+ {
+ return string.substring(0, pos) + replacement
+ + string.substring(pos + toReplace.length());
+ }
+ else
+ {
+ return string;
+ }
+ }
+
}