StringUtil.java
3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package com.cjs.site.util.lang;
import java.util.UUID;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
/**
* 常用字符串工具类,优先使用org.apache.commons.lang3.StringUtils
*
* @author tongyufu
*
*/
public class StringUtil {
/**生成UUID*/
public static String getUUID() {
return UUID.randomUUID().toString();
}
/**
* 多重比较。如果source与任一targets相同,返回true,否则返回false
*
* @param source 原始字符串
* @param targets 比对列表
* @return
*/
public static boolean equals(String source, String... targets) {
for (String target : targets) {
if (StringUtils.equals(source, target)) {
return true;
}
}
return false;
}
/**
* 将对象转成字符串
* @param str
* @return 为null时转成""
*/
public static String castString(Object str) {
return str == null ? "" : str.toString();
}
public static boolean isBlank(Object str) {
return str == null ? true : StringUtils.isBlank(str.toString());
}
/**是否是整数*/
public static boolean isDigits(Object str) {
return str == null ? false : NumberUtils.isDigits(str.toString());
}
/**
* 补齐不足长度
* @param length 长度
* @param number 数字
* @return
*/
public static String lpad(int length, String number) {
int leng = number.length();
for (int i = 0; i < length - leng; i++) {
number = "0" + number;
}
return number;
}
/**
* 替换部分字符
* @param length 显示部分
* @param str 待操作字符串
* @param replaceStr 替换用字符
* @return
*/
public static String leftReplace(int length, String str, String replaceStr) {
String strleft = "";
for (int i = 0; i < str.length() - length; i++) {
strleft += replaceStr;
}
return strleft + str.substring(str.length() - length);
}
/**
* 将字符串str中的一段字符全部替换为replaceStr,
* 例如 replace(4, 3, "6212826382818061", "") 替换结果为"6212061",
* 例如 replace(4, 3, "6212826382818061", "*") 替换结果为"6212*********061",
* 只可替换英文、数字
* @param firstIndex 左边剩余的字符数量
* @param secondIndex 右边剩余的字符数量
* @param str 待操作的字符串
* @param replaceStr 替换的字符串
* @return
*/
public static String replace(int firstIndex, int secondIndex, String str, String replaceStr) {
return str.replaceAll("(?<=\\w{" + firstIndex + "})\\w(?=\\w{" + secondIndex + "})",
replaceStr);
}
/**
* 验证是否是手机号
* @param phoneNo
* @return
*/
public static boolean isPhoneNo(String phoneNo) {
String regex = "^1\\d{10}$";
Pattern pattern = Pattern.compile(regex);
return pattern.matcher(phoneNo).matches();
}
}