StringUtil.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /**
  2. * DBSyncer Copyright 2020-2023 All Rights Reserved.
  3. */
  4. package org.dbsyncer.common.util;
  5. import org.apache.commons.lang3.StringUtils;
  6. public abstract class StringUtil {
  7. public static final String EMPTY = "";
  8. public static final String SYMBOL = "-";
  9. public static final String UNDERLINE = "_";
  10. public static final String COLON = ":";
  11. public static final String SPACE = " ";
  12. public static final String SINGLE_QUOTATION = "'";
  13. public static final String DOUBLE_QUOTATION = "\"";
  14. public static final String FORWARD_SLASH = "/";
  15. public static final String BACK_QUOTE = "`";
  16. public static final String POINT = ".";
  17. public static boolean equals(CharSequence cs1, CharSequence cs2) {
  18. return StringUtils.equals(cs1, cs2);
  19. }
  20. public static boolean equalsIgnoreCase(CharSequence cs1, CharSequence cs2) {
  21. return StringUtils.equalsIgnoreCase(cs1, cs2);
  22. }
  23. public static boolean isBlank(CharSequence cs) {
  24. return StringUtils.isBlank(cs);
  25. }
  26. public static boolean isNotBlank(CharSequence cs) {
  27. return StringUtils.isNotBlank(cs);
  28. }
  29. public static String[] split(String str, String separatorChars) {
  30. return StringUtils.split(str, separatorChars);
  31. }
  32. public static boolean contains(CharSequence seq, CharSequence searchSeq) {
  33. return StringUtils.contains(seq, searchSeq);
  34. }
  35. public static boolean endsWith(final CharSequence str, final CharSequence suffix) {
  36. return StringUtils.endsWith(str, suffix);
  37. }
  38. public static String trim(String text) {
  39. return StringUtils.trim(text);
  40. }
  41. public static String replace(String text, String searchString, String replacement) {
  42. return StringUtils.replace(text, searchString, replacement);
  43. }
  44. public static String join(Iterable<?> iterable, String separator) {
  45. return StringUtils.join(iterable, separator);
  46. }
  47. public static String join(Object[] array, String separator) {
  48. return StringUtils.join(array, separator);
  49. }
  50. public static String substring(String str, int start) {
  51. return StringUtils.substring(str, start);
  52. }
  53. public static String substring(String str, int start, int end) {
  54. return StringUtils.substring(str, start, end);
  55. }
  56. public static int indexOf(CharSequence seq, CharSequence searchChar) {
  57. return StringUtils.indexOf(seq, searchChar);
  58. }
  59. public static int lastIndexOf(CharSequence seq, CharSequence searchChar) {
  60. return StringUtils.lastIndexOf(seq, searchChar);
  61. }
  62. public static boolean startsWith(CharSequence str, CharSequence prefix) {
  63. return StringUtils.startsWith(str, prefix);
  64. }
  65. public static String toString(Object obj) {
  66. return obj == null ? EMPTY : String.valueOf(obj);
  67. }
  68. /**
  69. * 首字母转小写
  70. *
  71. * @param s
  72. * @return
  73. */
  74. public static String toLowerCaseFirstOne(String s) {
  75. if (StringUtils.isBlank(s) || Character.isLowerCase(s.charAt(0))) {
  76. return s;
  77. }
  78. return new StringBuilder().append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
  79. }
  80. /**
  81. * Restores a byte array that is encoded as a hex string.
  82. */
  83. public static byte[] hexStringToByteArray(String hexString) {
  84. if (hexString == null) {
  85. return null;
  86. }
  87. int length = hexString.length();
  88. byte[] bytes = new byte[length / 2];
  89. for (int i = 0; i < length; i += 2) {
  90. bytes[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
  91. + Character.digit(hexString.charAt(i + 1), 16));
  92. }
  93. return bytes;
  94. }
  95. }