java字符串的常用方法

去除字符串对象两端的空白字符

还可以用替换方法(replace方法)实现

public class TrimExample {
    public static void main(String[] args) {
        String str = "   Hello, World!   ";
        String trimmedStr = str.trim();
        System.out.println("原始字符串:" + str);
        System.out.println("去除两端空白后的字符串:" + trimmedStr);
    }
}

判断字符串是否为空

方法一

str == null

方法二

str.isEmpty()

null和isEmpty的区别:
str == null判断字符串变量是否为null引用,即是否没有指向任何实际的字符串对象。
例如:String str = null;,此时str == null返回true。

isEmpty用于判断字符串是否为空字符串,即长度为 0
例如:String str = "";,此时str.isEmpty()返回true。
isEmpty方法

小写字母转大写母

一、使用Character.toUpperCase()方法

char c = 'a';
char upper = Character.toUpperCase(c);

二、String.toUpperCase()方法(字符串中的小写字母转换为大写字母)

String lowerStr = "hello";
String upperStr = lowerStr.toUpperCase();

三、使用 ASCII 值进行转换
小写字母的 ASCII 值范围是 97(‘a’)到 122(‘z’),大写字母的 ASCII 值范围是 65(‘A’)到 90(‘Z’),二者相差 32。

char c = 'a';
char upper = (char)(c-32);

charAt方法

作用:返回指定索引处的字符(常用于字符串的遍历)

String str = "Hello";
for (int i = 0; i < str.length(); i++) {
    char c = str.charAt(i);
    System.out.println(c);
}

字符串的截取

一、使用 substring 方法

1.substring(int beginIndex):
从指定索引beginIndex开始截取字符串到字符串末尾

String str = "Hello World";
     String subStr = str.substring(6);
     System.out.println(subStr); // 输出 "World"

2.substring(int beginIndex, int endIndex):
从beginIndex开始截取到endIndex(不包含endIndex)位置的字符串。

String str = "Hello World";
     String subStr = str.substring(0, 5);
     System.out.println(subStr); // 输出 "Hello"

二、使用字符串分割结合特定索引
可以先将字符串按照特定字符分割成数组,然后根据索引获取所需部分。

String str = "Hello-World";
     String[] parts = str.split("-");
     String subStr = parts[1];
     System.out.println(subStr); // 输出 "World"

注意点:
如果以点(.),乘号(*)等在正则表达式中具有特殊含义的字符分割时需要在这些符号前面加"\\"来转义.

判断字符是否为大写

char c = 'a';
        boolean upperCase = Character.isUpperCase(c);
        System.out.println(upperCase);//false

将不同类型的数据转换为字符串

int num = 10;
String str = String.valueOf(num);
System.out.println(str); // 字符串"10"

String.valueOf(要转换的数据)方法可以将各种基本数据类型(如int、long、double、boolean等)和对象转换为字符串表示形式。

判断字符串是否以指定的开头或结尾

判断前缀
public boolean startsWith(String prefix)这个方法接收一个字符串参数,表示要判断的前缀,返回一个布尔值,表示当前字符串是否以指定的前缀开始.

public class StartWithExample {
    public static void main(String[] args) {
        String str = "Hello World";
        boolean startsWithHello = str.startsWith("Hello");
        System.out.println("字符串是否以'Hello'开头:" + startsWithHello);
    }
}

判断结尾
public boolean endsWith(String prefix)这个方法接收一个字符串参数,表示要判断的后缀,返回一个布尔值,表示当前字符串是否以指定的后缀结束.

求字符串的长度

用字符串对象调用length()方法.

String str4 = "Java String";
System.out.println("这个字符串的长度为:" + str4.length());

查找字符串中子字符串和字符的位置(不忽略大小写)

字符位置查找
public int indexOf(char ch):在字符串中查找指定字符首次出现的位置。
public int indexOf(char ch, int fromIndex)从指定索引位置开始,在字符串中查找指定字符首次出现的位置。
如果没有返回-1.
子字符串位置查找
public int indexOf(String str):在字符串中查找指定子字符串首次出现的位置(即第一个字符的位置)。
public int indexOf(String str, int fromIndex)从指定索引位置开始,在字符串中查找指定子字符串首次出现的位置。
如果没有返回-1.

字符串的替换

用字符串对象调用replace(被替换的字符串,新字符串)方法.

String str7 = "Hello World";
String replace = str7.replace("World", "Java");
System.out.println(replace);//Hello Java

被替换的字符串不止一个时,需要将这些要替换字符串存入数组后,不能直接传入数组要通过循环的方式传递.

		String str8 = "Hello World";
		//要替换字符串数组
        String[] arr ={"el","or","ld"};
        String replace1="";
        for (int i1 = 0; i1 < arr.length; i1++) {
            replace1 = str8.replace(arr[i1], "**");
            str8 = replace1;
            System.out.println(replace1);
        }
        //运行结果
        /*H**lo World
        H**lo W**ld
        H**lo W*****/

如果被替换的字符串不存在,字符串内容不发生变化.
replace方法还可以用于删除字符串中的所有空格

		String str9 = "   Hello World, Hello Java   ";
        String replace2 = str9.replace(" ", "");
        System.out.println(replace2);//HelloWorld,HelloJava

replaceAll 和 replace的区别:
replace(char oldChar, char newChar):
这个方法接受两个字符参数,分别表示要被替换的旧字符用于替换的新字符
例如:“Hello”.replace (‘l’, ‘w’),将字符串 “Hello” 中的字符 ‘l’ 替换为 ‘w’,结果为 “hewwo”。
replaceAll(String regex, String replacement):
这个方法接受两个参数,第一个参数是正则表达式(regex),用于指定要被替换的模式;第二个参数是用于替换的字符串
例如:“Hello 123 World”.replaceAll (“\d+”, “XXX”),将字符串中的数字替换为 “XXX”,结果为 “Hello XXX World”。

字符串的比较

用字符串对象调用equals(要比较的字符串)方法.

		String str12 = "java";
        String str13 = "xxxx";
        System.out.println(str12.equals(str13));//false

equals方法在比较时区分大小写.

String str1 = "Hello";
String str2 = "hello";
System.out.println(str1.equals(str2)); // 输出 false

忽略大小写比较字符串
用字符串对象调用equalsIgnoreCase(要比较的字符串)方法.

		String str11 = "Java";
        String str12 = "java";
        System.out.println(str11.equalsIgnoreCase(str12));//true

判断一个字符串中是否包含另一个字符串

用字符串对象调用contains(要判断的字符串)方法.

		String str14 = "Hello World";
        String str15 = "World";
        boolean contains = str14.contains(str15);
        System.out.println("if have:"+contains);//true

contains方法主要用于判断一个集合中是否包含特定的元素。

将字符串转为字符数组

用字符串对象调用toCharArray()方法.

		String str16 = "Java";
        char[] charArray = str16.toCharArray();
        System.out.println(Arrays.toString(charArray));//[J, a, v, a]

将字符串数组按指定分隔符拼接为字符串

用Striing类调用静态方法join

		String[] arr1={"Apple","banana","orange"};
        String separator=", ";
        String join = String.join(separator, arr1);
        System.out.println(join);//Apple, banana, orange

将字符串重复n次

用Striing对象调用repeat(重复次数)方法

		String str20 = "Hello";
        int times=3;
        String repeat = str20.repeat(times);
        System.out.println(repeat);//HelloHelloHello

字符数组转字符串

方法一(常用)
用String类构造方法,在创建字符串对象时将字符数组传入.

		char[] charArray2 = {'j','a','v','a'};
        String str23=new String(charArray2);
        System.out.println(str23);//java

方法二
用Striing类调用静态方法copyValueOf(字符数组)

		char[] charArray2 = {'j','a','v','a'};
        String s4 = String.copyValueOf(charArray2);
        System.out.println(s4);//java

大写字母转小写字母

一、使用Character.toLowerCase()方法

char c = 'A';
char upper = Character.toUpperCase(c);//a

二、String.toLowerCase()方法(字符串中大写字母转换为小写字母)

String lowerStr = "HAPPY";
String lowerCase = lowerStr.toLowerCase();//happy

三、使用 ASCII 值进行转换
小写字母的 ASCII 值范围是 97(‘a’)到 122(‘z’),大写字母的 ASCII 值范围是 65(‘A’)到 90(‘Z’),二者相差 32。

char c = 'A';
char upper = (char)(c+32);//a

字符串转整数

用Integer类调用静态方法parseInt(要转换的字符串)

		String str25="12345";
        int i1 = Integer.parseInt(str25);
        System.out.println(i1+1);//12346

判断字符是否为小写

		char c = 'a';
        boolean lowerCase1= Character.isLowerCase(c);
        System.out.println(lowerCase1);//true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值