模块 jmc.utils
程序包 com.jmc.lang

类 Strs

java.lang.Object
com.jmc.lang.Strs

public class Strs extends Object
String类扩展
从以下版本开始:
1.0
  • 方法详细资料

    • isNum

      public static boolean isNum(String src)
      判断一个字符串是否由数字构成(正数,负数或小数)
      参数:
      src - 字符串
      返回:
      判断结果
      从以下版本开始:
      2.0
      API Note:
      
       // 判断是否是数字(true)
       var isNum = Strs.isNum("123");
       // true
       isNum = Strs.isNum("12.34");
       // true
       isNum = Strs.isNum("-234.789");
       // false
       isNum = Strs.isNum("123aa45");
       
    • subExclusive

      public static String subExclusive(String src, String start, String end, int fromIdx)
      获取字符串的子串
      参数:
      src - 原字符串
      start - 开始的子串(不包含)
      end - 结束的子串(不包含)
      fromIdx - 从哪个下标开始查找
      返回:
      结果子串
      从以下版本开始:
      1.7
      API Note:
      
       var s = "zxxx123yyy"
       // 获取s中xxx和yyy之间的字串,从下标1开始匹配(结果:123)
       var res = Strs.subExclusive(s, "xxx", "yyy", 1);
       
    • subExclusive

      public static String subExclusive(String src, String start, int fromIdx)
      获取字符串的子串
      参数:
      src - 原字符串
      start - 开始的子串(不包含)
      fromIdx - 从哪个下标开始查找
      返回:
      结果子串
      从以下版本开始:
      1.7
      API Note:
      
       var s = "zxxx123"
       // 获取s中xxx之后的字串,从下标1开始匹配(结果:123)
       var res = Strs.subExclusive(s, "xxx", 1);
       
    • subExclusive

      public static String subExclusive(String src, String start, String end)
      获取字符串的子串
      参数:
      src - 原字符串
      start - 开始的子串(不包含)
      end - 结束的子串(不包含)
      返回:
      结果子串
      API Note:
      
       var s = "xxx123yyy"
       // 获取s中xxx和yyy之间的子串(结果:123)
       var res = Strs.subExclusive(s, "xxx", "yyy");
       
    • subExclusive

      public static String subExclusive(String src, String start)
      获取字符串的子串
      参数:
      src - 原字符串
      start - 开始的子串(不包含)
      返回:
      结果子串
      API Note:
      
       var s = "xxx123"
       // 获取s中xxx后面的子串(结果:123)
       var res = Strs.subExclusive(s, "xxx");
       
    • subInclusive

      public static String subInclusive(String src, String start, String end, int fromIdx)
      获取字符串的子串
      参数:
      src - 原字符串
      start - 开始的子串(包含)
      end - 结束的子串(包含)
      fromIdx - 从哪个下标开始查找
      返回:
      结果子串
      从以下版本开始:
      1.7
      API Note:
      
       var s = "zx123y"
       // 获取s中x和y之间的字串(包括x和y),从下标1开始匹配(结果:x123y)
       var res = Strs.subInclusive(s, "x", "y", 1);
       
    • subInclusive

      public static String subInclusive(String src, String start, int fromIdx)
      获取字符串的子串
      参数:
      src - 原字符串
      start - 开始的子串(包含)
      fromIdx - 从哪个下标开始查找
      返回:
      结果子串
      从以下版本开始:
      1.7
      API Note:
      
       var s = "zxxx123"
       // 获取s中xxx之后的字串(包括xxx),从下标1开始匹配(结果:xxx123)
       var res = Strs.subInclusive(s, "xxx", 1);
       
    • subInclusive

      public static String subInclusive(String src, String start, String end)
      获取字符串的子串
      参数:
      src - 原字符串
      start - 开始的子串(包含)
      end - 结束的子串(包含)
      返回:
      结果子串
      API Note:
      
       var s = "x12y3z"
       // 获取s中x和y之间的子串(包括x和y)(结果:x12y)
       var res = Strs.subInclusive(s, "x", "y");
       
    • subInclusive

      public static String subInclusive(String src, String start)
      获取字符串的子串
      参数:
      src - 原字符串
      start - 开始的子串(包含)
      返回:
      结果子串
      API Note:
      
       var s = "xxy123"
       // 获取s中y后面的子串(包括y)(结果:y123)
       var res = Strs.subInclusive(s, "y");
       
    • orReplace

      public static String orReplace(String src, String newStr, String... oldStrs)
      替换多个旧子串为新子串
      参数:
      src - 原字符串
      newStr - 新子串
      oldStrs - 旧子串
      返回:
      结果字符串
      API Note:
      
       var s = "abccddeeff";
       // 将s字符串中的cc和ee替换成!(结果:aa!dd!ff)
       var res = Strs.orReplace(s, "!", "cc", "ee");
       
    • orEquals

      public static boolean orEquals(String src, String... strs)
      判断多个字符串中是否存在至少一个字符串与提供的字符串相等
      参数:
      src - 提供的字符串
      strs - 多个字符串
      返回:
      是否存在相等
      API Note:
      
       // 判断字符串"abc"是否与"a"或"b"或"abc"完全相等(结果:true)
       var flag = Strs.orEquals("abc", "a", "b", "abc");
       
    • orContains

      public static boolean orContains(String src, String... contains)
      判断字符串中是否包含任意提供的子串
      参数:
      src - 字符串
      contains - 提供的子串
      返回:
      是否包含任意子串
      API Note:
      
       // 判断字符串"aabbccdddee"是否包含"ff"或"cc"(结果:true)
       var flag = Strs.orContains("aabbccdddee", "ff", "cc");
       
    • orStartsWith

      public static boolean orStartsWith(String src, String... strs)
      判断字符串是否以提供的任意子串开始
      参数:
      src - 字符串
      strs - 提供的子串
      返回:
      是否以提供的任意子串开始
      API Note:
      
       // 判断字符串"aabbccdddee"是否以"bb"或"dd"开始(结果:false)
       var flag = Strs.orStartsWith("aabbccdddee", "bb", "dd");
       
    • orEndsWith

      public static boolean orEndsWith(String src, String... strs)
      判断字符串是否以提供的任意子串结束
      参数:
      src - 字符串
      strs - 提供的子串
      返回:
      是否以提供的任意子串结束
      API Note:
      
       // 判断字符串"aabbccdddee"是否以"ff"或"ee"结束(结果:true)
       var flag = Strs.orEndsWith("aabbccdddee", "ff", "ee");
       
    • orSplit

      public static List<String> orSplit(String src, String... splits)
      用多个分隔符分割字符串
      参数:
      src - 字符串
      splits - 1个或多个分隔符
      返回:
      分割后字符串列表
      从以下版本开始:
      2.4
      API Note:
      
       // 将字符串"a!c?d"使用"?"和"!"作为分隔符分割成多个字符串(结果:["a", "c", "d"])
       var flag = Strs.orSplit("a!c?d", "?", "!");
       
    • capitalize

      public static String capitalize(String src)
      将字符串首字母大写
      参数:
      src - 字符串
      返回:
      结果字符串
      API Note:
      
       // 将字符串"jmc"首字母大写(结果:Jmc)
       var res = Strs.capitalize("jmc");
       
    • xor

      public static String xor(String src, byte key)
      异或字符串
      参数:
      src - 原字符串
      key - 私钥
      返回:
      结果字符串
      API Note:
      
       // 将字符串"abc"用私钥34进行异或获得密文(结果:C@A)
       var encrypt = Strs.xor("abc", 34);
      
       // 将密文再进行异或获得原文
       var decrypt = Strs.xor(encrypt, 34);
       Assert.assertEquals("abc", decrypt);
       
    • swap

      public static String swap(String src, String subA, String subB)
      交换字符串中的两个子串
      参数:
      src - 字符串
      subA - 子串a
      subB - 子串b
      返回:
      结果字符串
      API Note:
      
       var s = "a c a c";
       // 把字符串s中的a和c调换位置(结果是:c a c a)
       var res = Strs.swap(s, "a", "c");
       
    • collectAll

      public static List<String> collectAll(String src, String start, String end, boolean includesBoundary)
      收集所有以开始字符串开始,结束字符串结束的子串
      参数:
      src - 字符串
      start - 开始字符串
      end - 结束字符串
      includesBoundary - 是否包含边界(开始和结束字符串)
      返回:
      结果列表
      API Note:
      
       var s = "<a><b><c>";
       // 收集所有以"<"开头,">"结尾的子串(不包括边界"<"和">")(结果:["a", "b", "c"])
       var res = Strs.collectAll(s, "<", ">", false);
       
    • removeAll

      public static String removeAll(String src, String start, String end)
      删除所有以开始字符串开始,结束字符串结束的子串
      参数:
      src - 字符串
      start - 开始字符串
      end - 结束字符串
      返回:
      结果字符串
      API Note:
      
       var s = "<a>?<b>!<c>";
       // 去除所有以<开头,>结尾的子串(结果:"?!")
       var res = Strs.removeAll(s, "<", ">");