java---字符串常用操作

142 阅读2分钟
  • 自有方法
// String(不可变)  StringBuilder(可变安全效率低)  StringBuffer(可变不安全效率高)
public class ZifuChuan {
    public static void main(String[] args) {
        String str = "hello111Word";
        String str1 = "adlloWord";
        //字符串常用方法 length  不可变性,可以用for遍历
        // charAt(index) 返回指定位置的索引
        // isEmpty() 返回布尔值,判断字符串是否为空
        // toLowerCase() toUpperCase() 原字符串不变,返回值:转化为大写 小写
        // trim() 原字符串不变,返回值:是去掉原有字符串首未的空格
        //equals()  比较内容是否一致,返回值:为布尔值
        //equalsIgnoreCase() 忽略大小写比较,返回值:为布尔值
        // compareTo() 比较字符串大小,负数表示前面的数小,0表示一样, 返回值:为正数 0 负数 h-a 为正数  排序
        //substring(startIndex,endIndex)  返回值:截取字符串,不包含endIndex的索引的。原字符串不变
        //endsWith() 返回值:布尔值。以什么结尾
        //startsWith()返回值:布尔值。以什么开始
        //contains(str) 返回值:布尔值。当前字符串是否包含参数字符串
        //indexOf() 返回值:索引值,没找到返回值是 -1  lastIndexOf()
        // replace(str1,str2)  返回值:替换后的字符串
        // replaceAll(正则,str2) 返回值:替换后的字符串 正则(格式化)
        // matches(正则) 返回值:布尔值  (校验)
        // split(正则) 返回值:数组  (字符串数组化)
        int i = str.compareTo(str1);
        System.out.println(i);
        int h = str.indexOf("p");
        System.out.println(h);
        String s = str.replaceAll("\\d+", "|");
        System.out.println(s);
        String[] split = s.split("\\|");
        for (Object o: split
        ) {
            System.out.println("split---"+o);
        }

        //StringBuffer/StringBuilder   额外的方法 原有字符串会改变
        // append(str) 拼接
        // delete(startIndex,endIndex) 删除指定索引
        // replace(startIndex,endIndex,str) 替换
        // insert(index,str) 插入
        // reverse() 翻转
        //indexOf() substring():原有字符串不变
        //charAt()  setCharAt(index,'')替换

        StringBuffer str4 = new StringBuffer("abce");
        str4.reverse();
        System.out.println(str4);
        str4.setCharAt(0,'p');
    }
}
  • 工具常用方法
/**
 * 格式化string
 * 1.String.format
 * 2.MessageFormat.format 更加灵活
 *
 */
@Test
public void test(){
    String name = "小王";
    String age = "18";
    String s = String.format("我叫%s,我"%s"岁了", name, age);
    log.info("s:{}", s);
    String msgFormat = MessageFormat.format("我叫{0},我"{1}"岁了", name, age);
    log.info("msgFormat:{}", msgFormat);
}