1.判断是否是整数,包含正数和负数

/**
     * 判断是否是整数包含正负
     */
    public static boolean isInteger(String str){
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]+$");
        return pattern.matcher(str).matches();
    }

2.判断是否包含汉字:

 

 1 package com.test.character;
 2 
 3 public class TestCharacter {
 4 
 5     public static void main(String[] args) {
 6         System.out.println(isChinese("我是abc"));
 7         System.out.println(isChinese("i am in china"));
 8     }
 9 
10     /**
11      * 是否包含汉字
12      *
13      * @param c
14      * @return
15      */
16     public static boolean isChinese(char c) {
17         Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
18         if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
19                 || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
20                 || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
21                 || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
22                 || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
23                 || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
24             return true;
25         } else {
26             return false;
27         }
28     }
29 
30     public static boolean isChinese(String str) {
31         char[] chars = str.toCharArray();
32         for (char c : chars) {
33             if (isChinese(c)) {
34                 return true;
35             }
36         }
37         return false;
38     }
39 
40 }

 

Character.UnicodeBlock.of()方法介绍:https://www.nhooo.com/note/qa0z42.html

Character.UnicodeBlock中的CJK说明:https://blog.csdn.net/yangdan1025/article/details/86586578

 

3.计算字符串的字节长度

package com.test.stringformat;

import java.io.UnsupportedEncodingException;

public class TestStrLength {

    public static void main(String[] args) {
        String str = "你看这串字符串多长abc";
        System.out.println(calStrLength(str));  //30
    }

    /**
     * 计算字符串的字节长度,中文占3个字节(UTF-8格式)
     *
     * @param str
     * @return
     */
    public static int calStrLength(String str) {
        int length = 0;
        try {
            length = str.getBytes("utf-8").length;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return length;
    }
}

 















 ---

相关文章: