diff --git a/src/java/com/samskivert/util/StringUtil.java b/src/java/com/samskivert/util/StringUtil.java index 569bdb01..c326ee41 100644 --- a/src/java/com/samskivert/util/StringUtil.java +++ b/src/java/com/samskivert/util/StringUtil.java @@ -44,6 +44,7 @@ import java.util.Collection; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; +import java.util.Locale; import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -141,6 +142,40 @@ public class StringUtil } } + /** + * Returns a US locale lower case string. Useful when manipulating filenames and resource + * keys which would not have locale specific characters. + */ + public static String toUSLowerCase (String s) + { + if (isBlank(s)) { + return s; + } + for (int ii = 0, ll = s.length(); ii < ll; ii++) { + if (Character.isUpperCase(s.charAt(ii))) { + return s.toLowerCase(Locale.US); + } + } + return s; + } + + /** + * Returns a US locale upper case string. Useful when manipulating filenames and resource + * keys which would not have locale specific characters. + */ + public static String toUSUpperCase (String s) + { + if (isBlank(s)) { + return s; + } + for (int ii = 0, ll = s.length(); ii < ll; ii++) { + if (Character.isLowerCase(s.charAt(ii))) { + return s.toUpperCase(Locale.US); + } + } + return s; + } + /** * Validates a character. */ @@ -1035,7 +1070,7 @@ public class StringUtil if (isBlank(source)) { return new String[0]; } - + int tcount = 0, tpos = -1, tstart = 0; // count up the number of tokens