1. 字符串常用方法

1.1 转换方法

  • 1.1.1 转字符数组toCharArray(),返回 char[]
  char[] charArray = str.toCharArray();
  • 1.1.2 转字节数组getBytes(),返回 byte[]
  byte[] bytes = str.getBytes();

1.2 查找方法

  • 1.2.1 按索引取字符charAt(int index),返回指定索引处的字符
  char c = str.charAt(10);
  • 1.2.2 查找首次出现位置indexOf(String str),返回第一次出现的索引值,找不到返回 -1
  int index = str.indexOf("qqq"); // 找不到返回 -1
  • 1.2.3 查找最后出现位置lastIndexOf(String str),返回最后一次出现的索引值
  int i = str.lastIndexOf("西川");
  • 1.2.4 判断是否包含contains(String str),返回 boolean
  boolean boo = str.contains("西川");

1.3 判断方法

  • 1.3.1 判断开头startsWith(String prefix),返回 boolean
  boolean b = str.startsWith("体挂西川");
  • 1.3.2 判断结尾endsWith(String suffix),返回 boolean
  boolean b1 = str.endsWith("连环铠");
  • 1.3.3 判断是否为空字符串isEmpty(),只判断长度是否为 0,空格不算空
  String str1 = "            ";
  System.out.println(str1.isEmpty()); // false,空格不算空
  System.out.println(str1.length());  // 12

1.4 修改方法

  • 1.4.1 替换replace(old, new),返回替换后的新字符串,原字符串不变
  String replace = str.replace("兽面", "人心");
  • 1.4.2 截取substring(int begin) 从指定位置截取到末尾;substring(int begin, int end) 截取指定范围,含头不含尾
  String s1 = str.substring(5);     // 从索引5截取到末尾
  String s2 = str.substring(5, 10); // 截取索引5到9
  • 1.4.3 拆分split(String regex) 按指定字符拆分,返回 String[];可传第二个参数限制拆分数量
  String[] qs = str.split("q");
  String[] strings = str.split("q", 10086); // 最多拆分10086份
  • 1.4.4 大小写转换
  str1.toUpperCase(); // 全部转大写
  str1.toLowerCase(); // 全部转小写
  • 1.4.5 去除首尾空格trim(),只去除首尾,中间空格保留
  str1.trim();
  • 1.4.6 拼接concat(String str),拼接字符串,等效于 +
  str1.concat("newChar");

2. 示例代码

package com.itszt.day04;
 
import java.util.Arrays;
 
public class Demo06 {
    public static void main(String[] args) {
        String str = "体挂西川q红锦百花袍,身披兽q面吞头q连环铠西川";
 
        // 转换
        char[] charArray = str.toCharArray();
        System.out.println(Arrays.toString(charArray));
        char c = str.charAt(10);
        System.out.println("c = " + c);
        byte[] bytes = str.getBytes();
        System.out.println(Arrays.toString(bytes));
 
        // 判断
        System.out.println(str.startsWith("体挂西川红锦百花袍")); // false
        System.out.println(str.endsWith("连环铠"));               // false
        System.out.println(str.contains("西川"));                 // true
 
        // 替换
        String replace = str.replace("兽面", "人心");
        System.out.println("replace = " + replace);
        System.out.println(str); // 原字符串不变
 
        // 截取
        System.out.println(str.substring(5));
        System.out.println(str.substring(5, 10));
 
        // 拆分
        String[] qs = str.split("q");
        System.out.println(Arrays.toString(qs));
 
        // 查找
        System.out.println(str.indexOf("qqq"));      // -1
        System.out.println(str.lastIndexOf("西川"));
 
        // 判空
        String str1 = "            ";
        System.out.println(str1.isEmpty()); // false
        System.out.println(str1.length());  // 12
 
        // 大小写 / 去空格 / 拼接
        str1 = "  qwertyua  sdASDFGH  ";
        System.out.println(str1.toUpperCase());
        System.out.println(str1.toLowerCase());
        System.out.println(str1.trim());
        System.out.println(str1.concat("newChar"));
    }
}

3. 总结

方法作用返回类型
toCharArray()转字符数组char[]
getBytes()转字节数组byte[]
charAt(index)取指定索引字符char
indexOf(str)首次出现位置,找不到返回 -1int
lastIndexOf(str)最后出现位置int
contains(str)是否包含boolean
startsWith(str)是否以指定内容开头boolean
endsWith(str)是否以指定内容结尾boolean
isEmpty()是否为空字符串(长度为0)boolean
replace(old, new)替换内容,原串不变String
substring(begin)从指定位置截取到末尾String
substring(begin, end)截取指定范围,含头不含尾String
split(str)按指定字符拆分String[]
toUpperCase()转大写String
toLowerCase()转小写String
trim()去除首尾空格String
concat(str)拼接字符串String