Пример #1
0
 /**
  * Разделить строку на подстроки в соответствии с разделителями заданными 2-м параметром
  *
  * @param str - Исходная строка
  * @param delim - Список разделителей
  * @return - массив подстрок
  */
 public static String[] aToken(String str, String delim) {
   if (StringFunc.isEmpty(str)) {
     return new String[0];
   }
   StringTokenizer strtok = new StringTokenizer(str, delim, false);
   int count = strtok.countTokens();
   String result[];
   result = new String[count];
   for (int i = 1; i <= count; i++) result[i - 1] = strtok.nextToken();
   return result;
 }
Пример #2
0
  /**
   * Разделить строку вида : a=b c=d на HasMap вида : a-->b c-->d
   *
   * @param src - Исходня строка
   * @param delim1 - Разделители первого уровня
   * @param delim2 - Разделители второго уровня
   * @return - HashMap - разобранная строка
   */
  public static HashMap<String, String> aToken2(String src, String delim1, String delim2) {
    HashMap<String, String> rc = new HashMap<String, String>();
    if (StringFunc.isEmpty(src)) {
      return rc;
    } // if isEmpty(src)
    String[] atok1 = Token.aToken(src, delim1);

    for (int i = 0; i < atok1.length; i++) {
      String s = atok1[i];
      String[] atok2 = Token.aToken(s, delim2);
      if (atok2.length < 2) continue;
      rc.put(atok2[0], atok2[1]);
    } // for
    return rc;
  }
Пример #3
0
 public static String join(List<Integer> tokens, String seps) {
   StringBuffer buf = new StringBuffer();
   for (int i = 0; i < tokens.size(); i++) {
     String tok = tokens.get(i) + "";
     if (StringFunc.isEmpty(tok)) {
       continue;
     }
     buf.append(tok).append(seps);
   } // for
   String rc = buf.toString();
   if (rc.endsWith(seps)) {
     rc = rc.substring(0, rc.length() - seps.length());
   }
   return rc;
 }
Пример #4
0
 public static String encodeRusString(String txt) {
   if (StringFunc.isEmpty(txt)) {
     return txt;
   }
   final String allRusChars = StringFunc.RUS_ALL_LETTERS;
   StringBuffer rc = new StringBuffer();
   char[] chars = txt.toCharArray();
   // for (char ch : chars) {
   for (int i = 0; i < chars.length; i++) {
     char ch = chars[i];
     int indexOf = allRusChars.indexOf(ch);
     if (indexOf == -1) {
       rc.append(ch);
     } else {
       rc.append(encodeRusChar(indexOf));
     }
   }
   return rc.toString();
 }