目录

  1. 参考链接
  2. Character类

    1. 内置方法
  3. String类型

    1. 获取字符长度
    2. 创建格式化字符串
    3. 大小写转换
    4. 检索子串
    5. 正则匹配
    6. 连接字符串
    7. 替换字符串
    8. 拆解字符串

参考链接

Character类

Character 类用于对单个字符进行操作,其在对象中包装一个基本类型 char 的值。

内置方法

  1. Character.isLetter(charVal): 是否是一个字母;
  2. Character.isDigit(charVal): 是否是一个数字字符;
  3. Character.isWhitespace(charVal): 是否是一个空格;
  4. Character.isUpperCase(charVal): 是否是大写字母;
  5. Character.isLowerCase(charVal): 是否是小写字母;
  6. Character.toUpperCase(charVal): 指定字母的大写形式;
  7. Character.toLowerCase(charVal): 指定字母的小写形式;
  8. Character.toString(charVal): 返回字符的字符串形式,字符串的长度仅为1。
  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. Character charVal1 = 'A'; // char类型要用单引号括起
  4. Character charVal2 = 'a';
  5. Character charVal3 = ' ';
  6. Character charVal4 = '1';
  7. System.out.println(Character.isLetter(charVal1)); // true
  8. System.out.println(Character.isUpperCase(charVal1)); // true
  9. System.out.println(Character.isLowerCase(charVal2)); // true
  10. System.out.println(Character.isWhitespace(charVal3)); // true
  11. System.out.println(Character.isDigit(charVal4)); // true
  12. System.out.println(Character.toLowerCase(charVal1)); // 'a'
  13. System.out.println(Character.toUpperCase(charVal2)); // 'A'
  14. System.out.println(Character.toString(charVal1)); // "A"
  15. }
  16. }

String类型

字符串是一种极常用的数据类型,Java 提供了 String 类来创建和操作字符串。构造一个 String 类型对象的方式多种多样,这里不多描述,接下来直接说明 String 类型常用的一些方法和属性。

获取字符长度

  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. String str = "Hello, world!";
  4. System.out.println(str.length()); // 13
  5. }
  6. }

创建格式化字符串

String 类的静态方法String.format()能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出,用法如下:

  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. String str;
  4. str = String.format("%d-%s-%s %s", 2018, "06", "14", "10:42"); // 生成一段时间戳
  5. System.out.println(str); // "2018-06-14 10:42"
  6. }
  7. }

大小写转换

  1. str.toUpperCase(): 转换大写,然后返回一个字符串;
  2. str.toLowerCase(): 转换小写,然后返回一个字符串。
  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. String str1 = "wjt20";
  4. String str2 = "WJT20";
  5. System.out.println(str1.toUpperCase()); // "WJT20"
  6. System.out.println(str2.toLowerCase()); // "wjt20"
  7. }
  8. }

检索子串

  1. str1.indexOf(charVal|str2[, startIndex]): 获取字符 charVal 或字符串 str2 第一次出现在 str1 的位置,如未出现返回-1,可以使用可选参数 startIndex,指定操作字符串中开始检索的位置;
  2. str1.lastIndexOf(charVal|str2[, startIndex]): 用法与 indexOf 差不多,不同之处是 lastIndexOf 是从后往前检索;
  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. String str = "20-20-20";
  4. System.out.println(str.indexOf("10")); // -1
  5. System.out.println(str.indexOf("20")); // 0
  6. System.out.println(str.lastIndexOf("20")); // 6
  7. }
  8. }

正则匹配

根据一个正则字符串判断字符串是否能够匹配,用到了str.matches(regexp)方法。

  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. String str = "20-20-20";
  4. System.out.println(str.matches("[0-9]{2}-[0-9]{2}-[0-9]{2}")); // true
  5. }
  6. }

连接字符串

连接字符串有两种方式: 一种是直接使用”+”拼接,另一种是使用str1.concat(str2)方法。

  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. String str1 = "Hello, ";
  4. String str2 = "world!";
  5. System.out.println(str1.concat(str2)); // "Hello, world!"
  6. }
  7. }

替换字符串

  1. str1.replace(str2, str3): 将 str1 中所有的子串 str2 替换为字符串 str3;
  2. str1.replaceAll(regexp, str2): 将 str1 中所有匹配正则表达式 regexp 的子串替换为字符串 str2。
  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. String str = "20-30-40";
  4. System.out.println(str.replace("20", "**")); // "**-30-40"
  5. System.out.println(str.replaceAll("[0-9]{2}", "**")); // "**-**-**"
  6. }
  7. }

拆解字符串

  1. str.split(regexp): 将正则表达式 regexp 作为分隔符,把字符串 str 拆分为数组返回;
  2. str.substring(beginIndex, endIndex): 返回 str 中 beginIndex 位置开始(包括)到 endIndex 位置结束(不包括)之间的子串。
  1. public class NativeClass {
  2. public static void main(String[] args) {
  3. String str = "20-30-40";
  4. for (String retval: str.split("-")){
  5. System.out.println(retval); // "20" "30" "40"
  6. }
  7. System.out.println(str.substring(0, 5)); // "20-30"
  8. }
  9. }

  1. ID : 108
  2. DATE : 2018/09/19
  3. AUTHER : WJT20
  4. TAG : Java