java中字符串常见的方法及总结

java字符串常见的方法

字符串的比较

1.equals()方法:常用于比较两个字符串是否相等,返回值类型是boolean,参数是Object类

public class test {
    public static void main(String[] args) {
        String n1 = "saf";
        String n2 = "saf";
        System.out.println(n1.equals(n2)); // true
    }
}

字符串的搜索

1.indexOf()方法:使用indexOf方法可以从字符串的首部进行搜索,当前字符串中指定子字符串的下标位置,返回值为int类型,如果存在,则返回子字符串的下标位置。如果不存在,则返回-1。

"Hello".indexOf("l"); // 2

2.lastIndexOf()方法:lastIndexOf()方法是从字符串的尾部进行搜索,返回值与indexOf()方法一致

"Hello".lastIndexOf("l"); // 3

3.startsWith()方法:用于判断字符串是否以指定字符串开头,返回值为boolean类型

"Hello".startsWith("He"); // true

4.endWith()方法:用于判断字符串是否以指定字符串结尾,返回值为boolean类型

"Hello".endsWith("lo"); // true

5.contains()方法:用于查找当前字符串中是否存在指定子字符串,返回值为boolean类型

"Hello".contains("lo"); // true

截取子字符串

1.substring()方法:使用substring()方法可以从当前字符串中,截取指定下标区间的子字符串,参数是int,返回值是String类型

"大漠孤烟直".substring(2); // 孤烟直
"大漠孤烟直".substring(0,2); // 大漠

去除首尾空白字符串

1.trim()方法:trim()方法可以移除字符串首尾空白字符,空白字符包括空格,\t,\n,\r.无参数,返回值类型是 String。

"  \tHello\r\n ".trim(); // 返回 "Hello"

替换字符串

1.replace()方法:根据字符或字符串替换

String s = "hello";
s.replace('l', 'w'); // "hewwo",所有字符'l'被替换为'w'
s.replace("ll", "~~"); // "he~~o",所有子串"ll"被替换为"~~"

2.replaceAll()方法:通过正则表达式,把匹配的子字符串统一替换

String s = "A,,B;C ,D";
s.replaceAll("[\\,\\;\\s]+", ","); // "A,B,C,D"

分割字符串

1.split()方法:通过正则表达式传入值,参数值为字符串类型,返回值类型是字符串数组

String s = "A,B,C,D";
String[] ss = s.split("\\,"); // {"A", "B", "C", "D"}

拼接字符串

1.join()方法:拼接字符串使用静态方法join(),他用指定的字符串连接字符串数组

String[] arr = {"A", "B", "C"};
String s = String.join("***", arr); // "A***B***C"

格式化字符串

1.format()方法:fomat()静态方法,可以传入其他参数,替换占位符,然后生成新的字符串。参数是字符串和动态参数,返回值是字符串类型

String s = "Hi %s, your score is %d!";
System.out.println(s.format("Alice", 80)); // 字符串对象调用
System.out.println(String.format("Hi %s, your score is %.2f!", "Bob", 59.5)); // 字符串类调用

类型转换

1valueOf()方法:是静态方法,可以把任意基本类型或引用类型转换为字符串,这是一个重载方法,编译器会根据参数自动选择合适的方法。返回值是String类型

String.valueOf(123); // "123"
String.valueOf(45.67); // "45.67"
String.valueOf(true); // "true"
String.valueOf(new Object()); // 类似java.lang.Object@636be97c

2.parseInt()方法:把字符串转为int类型,参数是String类型,返回值是int类型

int n1 = Integer.parseInt("123"); // 123
int n2 = Integer.parseInt("ff", 16); // 按十六进制转换,255

3.parseBoolean()方法:把字符串转为boolean类型,参数是int类型,返回值是boolean类型

boolean b1 = Boolean.parseBoolean("true"); // true
boolean b2 = Boolean.parseBoolean("FALSE"); // false

转换为char[]字符数组

1.String和char[]类型可以互相转化,方法是

char[] cs = "Hello".toCharArray(); // String -> char[]
String s = new String(cs); // char[] -> String

修改char[]的时候,String里面的值不会变,因为new String() 的时候指向了一个新的内存空间

char[] cs = "Hello".toCharArray();
String s = new String(cs);
System.out.println(s);
cs[0] = 'X';
System.out.println(s);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文地址:https://blog.csdn.net/zzz11120/article/details/123034439