String类中的常用方法

String是Java中很常用的一个类,熟练掌握这个类中的方法可以使我们的开发变得更加高效。

目录

一 构造方法

1.根据字符数组 value 构造

2. 根据字符数组的下标范围构造字符串

二 常用方法

1. 根据索引查找该位置字符

2. 将字符串转为字符数组

3. 比较大小

a) 比较相等

b) 比较两个字符串Unicode码的字典序

c) 不区分大小写的比较

4. 查找

a) 查找子串是否存在

b) 查找子串位置,返回开始位置的索引

5. 字符串替换

a) 替换所有指定内容

6. 字符串切分/拆分

a) 根据分隔符将全部拆分

b) 根据 regex 将字符串切割成 limit 个

7. 字符串截取

a) 从指定索引位置截取到结尾

b) 截取部分内容

8. 判断字符串是否为空

9. 其他操作

去掉字符串左右的空白符(回车换行制表等等)

大小写转化


一 构造方法

1.根据字符数组 value 构造

new String(char[] value)

        char[] chars = {'h','e','l','l','o'};
        String str1 = new String(chars);
        System.out.println(str1);

2. 根据字符数组的下标范围构造字符串

new String(char[] value, int offset, int count), [offset,count)注意是前闭后开区间

        char[] chars = {'h','e','l','l','o'};
        //2.new String(char[] value, int offset, int count),
        //根据字符数组的下标范围[offset,count)构造字符串
        String str2 = new String(chars, 0, 2);
        System.out.println(str2);

二 常用方法

1. 根据索引查找该位置字符

char charAt(int index)

获取指定索引位置的字符,索引位置从0开始

        // 获取下标为 0 位置的字符
        char char1 = str1.charAt(0);
        System.out.println(char1);

2. 将字符串转为字符数组

char[] toCharArray()

        String str1 = "hello";
        //char[] toCharArray()
        //将字符串变成字符数组返回
        char[] chars1 = str1.toCharArray();

3. 比较大小

a) 比较相等

boolean equals(Object anObject)

        String str1 = "hello";
        String str2 = "hehe";
        System.out.println(str1.equals(str2));

b) 比较两个字符串Unicode码的字典序

int compareTo(String anotherString) 返回 int

字母从小到大的顺序为 A~Z~a~z

        System.out.println("a".compareTo("z"));
        System.out.println("a".compareTo("Z"));
        System.out.println("A".compareTo("Z"));

结果为:

c) 不区分大小写的比较

boolean equalsIgnoreCase(String anotherString) 不分大小写比较相等

        System.out.println("hello".equalsIgnoreCase("HelLo"));

4. 查找

a) 查找子串是否存在

boolean contains(String str)

        System.out.println("hello".contains("llo"));
        System.out.println("hello".contains("las"));

b) 查找子串位置,返回开始位置的索引

int indexOf(String str),没找到返回 -1;如果存在多个子串则返回第一个的索引

        System.out.println("hello world".indexOf("world"));
        System.out.println("hello world".indexOf("word"));
        System.out.println("hello world world".indexOf("world"));

5. 字符串替换

由于字符串是不和变的,所以字符串替换的返回值是一个新串,而不是在原来字符串的基础上改变。

a) 替换所有指定内容

String replaceAll(String regex, String replacement) 这里的参数 regex 是 正则表达式

将 regex 的内容替换成 replacement 的内容,如果原字符串存在多个 regex 子串,将全部替换。

        String string = "hello world world";
        System.out.println(string.replaceAll("world","word"));
        System.out.println(string);

结果为:

6. 字符串切分/拆分

a) 根据分隔符将全部拆分

String[] split(String regex)

        string = "192.168.0.1";
        String[] res = string.split("\\.");
        // "\\." 这里涉及到两次转义,正则表达式的缘故
        System.out.println(Arrays.toString(res));

结果为:

b) 根据 regex 将字符串切割成 limit 个

String[] split(String regex,int limit),若 limit 小于可切割数 n ,则切割成 limit 个,若 limit 大于等于可切割数 n ,则切割成 n 个。

        string = "a b c d e f";
        res = string.split(" ",3);
        System.out.println(Arrays.toString(res));
        //若 limit 大于等于可切割数 n ,则切割成 n 个
        res = string.split(" ",10);
        System.out.println(Arrays.toString(res));

结果为:

7. 字符串截取

a) 从指定索引位置截取到结尾

String substring(int beginIndex)

        string = "0123456789";
        String ret = string.substring(4);
        System.out.println(ret);

结果为:

b) 截取部分内容

String substring(int beginIndex, int endIndex),截取区间为 [beginIndex, endIndex)

        string = "0123456789";
        //b)截取部分内容 String substring(int beginIndex, int endIndex)
        //截取范围是[begin,end)的前闭后开区间
        ret = string.substring(4,8);
        System.out.println(ret);

结果为:

8. 判断字符串是否为空

boolean isEmpty()

不是判断是否为 null,是判断长度是否为 0,当字符串为 null 时会抛出空指针异常

        //判断字符串是否为空,但不是null,而是长度为0
        //boolean isEmpty()
        string = "";
        System.out.println(string.isEmpty());
        //空指针异常
        string = null;
        System.out.println(string.isEmpty());

结果为:

9. 其他操作

去掉字符串左右的空白符(回车换行制表等等)

String trim()

        string = " hello\nhi\t hui\n";
        System.out.println("[" + string + "]");
        System.out.println("[" + string.trim() + "]");

结果为:

大小写转化

转大写 String toUpperCase()

转小写 String toLowerCase()

        string = "AbCdEfG";
        System.out.println(string.toUpperCase());
        //转小写 String toLowerCase()
        System.out.println(string.toLowerCase());

结果为:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值