StringUtil.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package thyyxxk.webserver.utils;
  2. import lombok.extern.slf4j.Slf4j;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7. /**
  8. * @author dj
  9. */
  10. @Slf4j
  11. public class StringUtil {
  12. public static boolean isBlank(String str) {
  13. return null == str || "".equals(str.trim());
  14. }
  15. public static boolean notBlank(String str) {
  16. return null != str && !"".equals(str.trim());
  17. }
  18. public static boolean validValue(String str) {
  19. return notBlank(str) && !"-".equals(str.trim());
  20. }
  21. public static boolean equalsIgnoreNull(String a, String b) {
  22. if (null == a) {
  23. a = "";
  24. }
  25. if (null == b) {
  26. b = "";
  27. }
  28. return a.equals(b);
  29. }
  30. public static boolean invalidValue(String str) {
  31. return isBlank(str) || "-".equals(str.trim());
  32. }
  33. public static String[] triageDeptString2Array(String deptCodes) {
  34. return null == deptCodes ? new String[]{}
  35. : deptCodes.substring(1, deptCodes.length() - 1)
  36. .replaceAll("\"", "")
  37. .split(",");
  38. }
  39. /**
  40. * 把原始字符串分割成指定长度的字符串列表
  41. *
  42. * @param inputString 原始字符串
  43. * @param length 指定长度
  44. * @return 。。
  45. */
  46. public static List<String> getStringList(String inputString, int length) {
  47. int size = inputString.length() / length;
  48. if (inputString.length() % length != 0) {
  49. size += 1;
  50. }
  51. return getStrList(inputString, length, size);
  52. }
  53. /**
  54. * 把原始字符串分割成指定长度的字符串列表
  55. *
  56. * @param inputString 原始字符串
  57. * @param length 指定长度
  58. * @param size 指定列表大小
  59. * @return ..
  60. */
  61. public static List<String> getStrList(String inputString, int length, int size) {
  62. List<String> list = new ArrayList<>();
  63. for (int i = 0; i < size; i++) {
  64. String childStr = substring(inputString, i * length, (i + 1) * length);
  65. list.add(childStr);
  66. }
  67. return list;
  68. }
  69. /**
  70. * @param str 需要判断的字符串
  71. * @return 返回 到底要不要 toUpperCase
  72. */
  73. public static String isContainChinese(String str) {
  74. if (isBlank(str)) {
  75. return "%";
  76. }
  77. Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]");
  78. Matcher m = p.matcher(str);
  79. if (m.find()) {
  80. return "%" + str + "%";
  81. }
  82. return "%" + str.toUpperCase() + "%";
  83. }
  84. public static String EnglishToCapital(String str) {
  85. if (isBlank(str)) {
  86. return "";
  87. }
  88. Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]");
  89. Matcher m = p.matcher(str);
  90. if (m.find()) {
  91. return str;
  92. }
  93. return str.toUpperCase();
  94. }
  95. /**
  96. * 分割字符串,如果开始位置大于字符串长度,返回空
  97. *
  98. * @param str 原始字符串
  99. * @param f 开始位置
  100. * @param t 结束位置
  101. * @return 。。
  102. */
  103. public static String substring(String str, int f, int t) {
  104. if (f > str.length()) {
  105. return null;
  106. }
  107. if (t > str.length()) {
  108. return str;
  109. } else {
  110. return str.substring(f, t);
  111. }
  112. }
  113. }