您的位置:首页 > 其它

String-常见工具收集

2016-01-25 11:07 330 查看
1将带有小数的数字转为字符串,同时进行四舍五入

public static String formatDoubleToString(double dou,String format) {
if(isEmpty(format))format = "#.##";
DecimalFormat decimalFormat = new DecimalFormat(format);
String string = decimalFormat.format(dou);// 四舍五入,逢五进一
return string;
}


main

public static void main(String[] args)  {
System.out.println(formatDoubleToString(1245.555221,null));

}


2百分比转换

public static String getPercent(int num,double totalCount,String...objects){
String format = "#.##";
if(objects!=null && objects.length>0){
format = objects[0];
}
return formatDoubleToString((num/totalCount)*100,format)+"%";
}


main

public static void main(String[] args)  {
System.out.println(getPercent(50,90,null));
}

3判断字符串是否为空

public static boolean isEmpty(String str) {
return null == str || str.length() == 0 || "".equals(str)
|| str.matches("\\s*");
}


4凯德加密

public static String encryption(String str,int k){
String string = "";
for (int i = 0; i < str.length(); i++) {
char c= str.charAt(i);
if(c>='a' && c<='z'){
c += k%26;
if(c<'a'){
c+=26;
}
if(c>'z'){
c-=26;
}
}else if(c>='A' && c<='Z'){
c+=k%26;
if(c<'A'){
c+=26;
}
if(c>'Z'){
c-=26;
}
}
string+=c;
}
return string;
}


5凯德解密

public static String dencryption(String str,int n){
String string = "";
int k = Integer.parseInt("-"+n);
for (int i = 0; i < str.length(); i++) {
char c= str.charAt(i);
if(c>='a' && c<='z'){
c += k%26;
if(c<'a'){
c+=26;
}
if(c>'z'){
c-=26;
}
}else if(c>='A' && c<='Z'){
c+=k%26;
if(c<'A'){
c+=26;
}
if(c>'Z'){
c-=26;
}
}
string+=c;
}
return string;
}


6图片,文档,视频后缀

public static boolean isImage(String ext){
return ext.toLowerCase().matches("jpg|gif|bmp|png|jpeg");
}
public static boolean isDoc(String ext){
return ext.toLowerCase().matches("doc|docx|xls|xlsx|pdf|txt|ppt|pptx|rar|zip|html|jsp|sql|htm|shtml|xml");
}
public static boolean isVideo(String ext){
return ext.toLowerCase().matches("mp4|flv|mp3|rmbv|avi");
}
7md5加密

public static String md5Base64(String str) {
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
return base64Encode(md5.digest(str.getBytes()));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
public static String base64Encode(byte[] b) {
if (b == null) {
return null;
}
return new BASE64Encoder().encode(b);
}

8将数字转换成对应的中文

public static String intToChnNumConverter(int num){
String resultNumber = null;
if(num > 10000 || num < 0){
return "";
}
HashMap chnNumbers = new HashMap();
chnNumbers.put(0, "零");
chnNumbers.put(1, "一");
chnNumbers.put(2, "二");
chnNumbers.put(3, "三");
chnNumbers.put(4, "四");
chnNumbers.put(5, "五");
chnNumbers.put(6, "六");
chnNumbers.put(7, "七");
chnNumbers.put(8, "八");
chnNumbers.put(9, "九");

HashMap unitMap = new HashMap();
unitMap.put(1, "");
unitMap.put(10, "十");
unitMap.put(100, "百");
unitMap.put(1000, "千");
int[] unitArray = {1000, 100, 10, 1};

StringBuilder result = new StringBuilder();
int i = 0;
while(num > 0){
int n1 = num / unitArray[i];
if(n1 > 0){
result.append(chnNumbers.get(n1)).append(unitMap.get(unitArray[i]));
}
if(n1 == 0){
if(result.lastIndexOf("零") != result.length()-1){
result.append("零");
}
}
num = num % unitArray[i++];
if(num == 0){
break;
}
}
resultNumber = result.toString();
if(resultNumber.startsWith("零")){
resultNumber = resultNumber.substring(1);
}
if(resultNumber.startsWith("一十")){
resultNumber = resultNumber.substring(1);
}
return resultNumber;
}


9文件大小转换

public static String countFileSize(long fileSize) {
String fileSizeString = "";
try {
DecimalFormat df = new DecimalFormat("#.00");
long fileS = fileSize;
if (fileS == 0) {
fileSizeString = "0KB";
} else if (fileS < 1024) {
fileSizeString = df.format((double) fileS) + "B";
} else if (fileS < 1048576) {
fileSizeString = df.format((double) fileS / 1024) + "KB";
} else if (fileS < 1073741824) {
fileSizeString = df
.format(((double) fileS / 1024 / 1024) - 0.01)
+ "MB";
} else {
fileSizeString = df.format((double) fileS / 1024 / 1024 / 1024)
+ "G";
}
} catch (Exception e) {
e.printStackTrace();
}
return fileSizeString;
}

10判断字符串是否都是数字组成

public static boolean isNumber(String numString) {
return StringUtils.isNumeric(numString);
}
11邮箱验证

public static boolean isEmail(String email) {
boolean flag = false;
try {
String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(email);
flag = matcher.matches();
} catch (Exception e) {
flag = false;
}
return flag;
}
12验证手机号码

public static boolean isMobile(String mobiles) {
boolean flag = false;
try {
Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
Matcher m = p.matcher(mobiles);
flag = m.matches();
} catch (Exception e) {
flag = false;
}
return flag;
}


13网络地址验证

public static boolean isHomepage(String str) {
String regex = "http://(([a-zA-z0-9]|-){1,}\\.){1,}[a-zA-z0-9]{1,}-*";
return match(regex, str);
}

private static boolean match(String regex, String str) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}


14判断字符串是否都是英文字母组成

public static boolean isEnglish(String string) {
return StringUtils.isAlpha(string);
}


15判断字符串是否都是英文字母和数字组成

public static boolean isEnglishOrNumber(String numEnglishString) {
return StringUtils.isAlphanumeric(numEnglishString);
}


16统计单个字符在字符串中出现的次数

public static int counter(String string, char c) {
int count = 0;
for (int i = 0; i < string.length(); i++) {
if (string.charAt(i) == c) {
count++;
}
}
return count;
}
17统计字符串中的中文个数

public static int getChineseCount(String s)
throws UnsupportedEncodingException {
char c;
int chineseCount = 0;
if (!"".equals("")) {
try {
s = new String(s.getBytes(), "GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
for (int i = 0; i < s.length(); i++) {
c = s.charAt(i);
if (isChineseChar(c)) {
chineseCount++;
}
}
return chineseCount;
}
public static boolean isChineseChar(char c)
throws UnsupportedEncodingException {
return String.valueOf(c).getBytes("GBK").length > 1;
}

18首字母转换为大写/小写

public static String toUpperCaseFirst(String text) {
return text.substring(0, 1).toUpperCase() + text.substring(1);
}
public static String toLowerCaseFirst(String text) {
return text.substring(0, 1).toLowerCase() + text.substring(1);
}
19:判断是否为数字

public static boolean isNumeric(String str) {
Matcher isNum = Pattern.compile("(-|\\+)?[0-9]+(.[0-9]+\\+)?").matcher(
str);
return isNum.matches();
}


20进制表示的字符串转换为字节数组

public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase();
char[] hexChars = hexString.toCharArray();
int length = hexString.length();
byte[] d = new byte[length >>> 1];
for (int n = 0; n < length; n += 2) {
String item = new String(hexChars, n, 2);
// 两位一组,表示一个字节,把这样表示的16进制字符串,还原成一个进制字节
d[n >>> 1] = (byte) Integer.parseInt(item, 16);
}
return d;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: