String类常用方法:字符串比较、转换、查找、替换、拆分、截取、格式化

1、字符串与字符数组的转换

          toCharArray()

        String str = "helloword";

        char [] result= str.toCharArray();
        for (int x=0;x < result.length;x++){
            //编码减少32,将小写转换成大写字符
            result[x] -= 32;
        }
        //将处理后的字符数组交给String变为字符串
        String newStr = new String(result);
        System.out.println(newStr);
        //若要取部分字符串,取从0开始到5结束的字符
        System.out.println(new String(result,0,5));

2、检验字符串是否由数字组成

package Test;

public class Demo2 {
    public static void main(String[] args) {

        String str = "helloworld";
        System.out.println(isNumber("123") ? "由数字组成" : "不是由数字组成");
    }

    //定义一个方法:主要用来判断字符串是否由数字组成
    public static boolean isNumber(String str){
        //将字符串变成字符数组
        char [] result = str.toCharArray();
        for (int x = 0;x < str.length();x++){
            //将result数组里的字符与字符0~9之间进行比较
            if (result[x] < '0' || result[x] > '9'){
                return false;
            }

        }
        return true;
    }
}

3、字节与字符串之间的转换

package Test;

public class Demo2 {
    public static void main(String[] args) {

        //字节与字符串的转换
        String str = "helloheh";
        //将字符串变成字节数组
        byte [] data = str.getBytes();
        for (int x = 0;x < data.length;x++){
            data[x] -= 32;
        }
        System.out.println(new String(data));
        System.out.println(new String(data,0,5));


    }


}

3、字符串比较

          等值比较:equals

          大小比较:compareTo

package Test;

public class Demo2 {
    public static void main(String[] args) {

//字符串比较
        //1、public boolean euqals(String anObject):区分大小写的相等比较
        //进行字符串区分大小写等值比较
        String strA = "ABC";
        String strB = "abc";
        System.out.println(strA.equals(strB));//结果为false

        //2、public boolean equalsIgnoreCase(String anotherString):不区分大小的比较
        //进行字符串不区分大小写等值比较
        String strC = "ABC";
        String strD = "abc";
        System.out.println(strA.equalsIgnoreCase(strD));//结果为true

        //3、public int compareTo(String anotherString):进行字符串大小比较,该方法返回一个int型数据,该数据有三种取值:大于(>0)、小于(<0)、等于(=0)
        //进行字符串区分大小比较
        String strE = "mmh";
        String strF = "mmH";
        System.out.println(strE.compareTo(strF));//结果为32  说明:strE > strF
        System.out.println(strF.compareTo(strE));//结果为-32  说明:strF > strE
        System.out.println("HELLO".compareTo("HELLO"));//结果为0    说明:"HELLO" = "HELLO"

        //4、public int compareToIgnoreCase(String str):不区分大小写进行字符串比较
        //进行字符串不区分大小比较
        String strG = "MMh";
        String strH = "mmH";
        System.out.println(strE.compareToIgnoreCase(strH));//结果为0  说明:strH = strG


    }


}

4、字符串查找

package Test;

public class Demo2 {
    public static void main(String[] args) {

//字符串查找
        //1、public boolean contains(String s):判断子字符串是否存在(存在返回true,不存在返回false)
        //判断子字符串是否存在
        String str = "hello.csdn.dd";
        System.out.println(str.contains("dd"));//结果为true
        System.out.println(str.contains("world"));//结果为false

        //2、public int indexOf(String str):从头查找指定字符串的位置,找不到返回-1,找到返回首字符的索引
        //判断字符串是否存在
        String str2 = "hello.csdn.dd";
        System.out.println(str2.indexOf("dd"));//结果为11
        System.out.println(str2.indexOf("world"));//结果为-1

        //3、public int indexOf(String str,int fromIndex):从指定位置由前向后查找指定字符串的位置

        //4、public int lastIndexOf(String str):从后向前查找指定字符串的位置
        String str3 = "hello.csdn.dd";
        System.out.println(str3.lastIndexOf("."));//结果为10
        System.out.println(str3.lastIndexOf("world"));//结果为-1

        //5、public int lastIndexOf(String str,int fromIndex):从指定位置由后向前查找指定字符串的位置

        //6、public boolean startsWith(String prefix):判断是否以指定的字符串开头
        //7、public boolean startsWith(String prefix,int toffset):从指定位置判断是否以指定的字符串开头
        //8、public boolean endsWith(String suffix):判断是否以指定的字符串结尾
        //判定是否已指定字符串开头或结尾
        String str4 = "**@@ello.csdn.dd##";
        System.out.println(str4.startsWith("**"));//结果为true
        System.out.println(str4.startsWith("@@",2));//结果为true
        System.out.println(str4.endsWith("##"));//结果为true


    }


}

5、字符串替换

          replaceAll():全部替换

          replaceFirst():替换首个

          通过只当内容进行字符串替换显示

package Test;

public class Demo2 {
    public static void main(String[] args) {

//字符串替换:通过只当内容进行字符串替换显示
        //1、public String replaceAll(String regex,String replacement):全部替换
        //2、public String replaceFirst(String regex,String replacement):替换首个

        String str = "hello.csdn.dd";
        System.out.println(str.replaceAll("l","x"));//结果:hexxo.csdn.dd
        System.out.println(str.replaceFirst("l","x"));//结果:hexlo.csdn.dd

    }


}

6、字符串拆分

          遇到拆分不了的字符,试试使用转义字符进行转义,可以根据字符索引进行截取(大多涉及逻辑计算)

package Test;

public class Demo2 {
    public static void main(String[] args) {

//字符串拆分:根据指定的字符串或者是表达式实现字符串的拆分,拆分完成的数据会以字符串数组的形式返回
        //1、public String[] split(String regex):按照指定的字符串全部拆分
        //字符串拆分处理
        String str = "hello world hello csdn";
        //按空格全部拆分
        String result [] = str.split(" ");
        for (int x = 0;x < result.length;x++){
            System.out.println(result[x]);
        }
        /*结果:
          hello
          world
          hello
          csdn*/


        //2、public String[] split(String regex,int limit):按照指定的字符串拆分为指定的个数
        //字符串拆分处理
        String str2 = "hello world hello csdn";
        //按空格只拆分两个,后面不进行拆分
        String result2 [] = str2.split(" ",2);
        for (int x = 0;x < result2.length;x++){
            System.out.println(result2[x]);
        }
        /*
        * hello
        * world hello csdn
        * */

        //若是遇到拆不了的情况,可以考虑转义
        String str3 = "hello.world.ello.csdn";
        //按空格只拆分两个,后面不进行拆分
        String result3 [] = str3.split("\\.");
        for (int x = 0;x < result3.length;x++){
            System.out.println(result3[x]);
        }
        /*结果:
          hello
          world
          ello
          csdn*/

    }


}

7、字符串截取

          从一个完整的字符串之中截取出子字符串

package Test;

public class Demo2 {
    public static void main(String[] args) {


//字符串截取:从一个完整的字符串之中截取出子字符串,
        //1、public String substring(int beginIndex):从指定索引截取到结束

        //2、public String substring(int beginIndex,int endIndex):截取指定索引范围中的子字符串

        //观察子字符串的操作
        String str = "www.csdn.dd";
        System.out.println(str.substring(4));//结果:csdn.dd
        System.out.println(str.substring(4,6));//结果:cs

        //根据索引找到位置
        String str1 = "昵称-tel-里斯.div";
        int beginIndex = str1.indexOf("-",str1.indexOf("tel")) + 1;
        int endIndex = str1.lastIndexOf(".") ;
        System.out.println(str1.substring(beginIndex,endIndex));//结果:里斯


    }


}

8、字符串格式化

          类似于c语言中的格式化输出语句,可以利用占位符实现数据的输出,对于占位符而言,常用的:字符串(%s)、字符(%c)、整数(%d)、小数(%f)

package Test;

public class Demo2 {
    public static void main(String[] args) {

//格式化字符串:类似于c语言中的格式化输出语句,可以利用占位符实现数据的输出,对于占位符而言,常用的:字符串(%s)、字符(%c)、整数(%d)、小数(%f)
        //1、public static String format(String format,各种类型 ...args):根据指定结构进行文本格式化显示
        //格式化处理
        String name = "张三";
        int age = 18;
        double score = 98.765261;
        String str = String.format("姓名:%s、年龄:%d、成绩:%5.3f。",name,age,score);
        System.out.println(str);
        //结果:姓名:张三、年龄:18、成绩:98.765。

    }


}

9、其他操作方法

package Test;

public class Demo2 {
    public static void main(String[] args) {

//其他操作方法
        //1、public String concat(String str):描述字符串的连接过程
        //字符串连接
        String str = "www.".concat("csdn");
        System.out.println(str);//结果:www.csdn

        //2、public String intern():字符串入池

        //3、public boolean isEmpty():判断是否为空字符串(不是null)
        //null和""的区别:null表示没有实例化对象,""表示有实例化对象,但是内容为空
        String str1 = "csdn";
        System.out.println(str1.isEmpty());//结果:false
        System.out.println("www".isEmpty());//结果:false

        //4、public int length():计算字符串长度
        //5、public String trim():去除左右的空白符号
        String str2 = "     hello csdn     ";
        System.out.println(str2.length());
        System.out.println(str2);
        String newStr2 = str2.trim();
        System.out.println(newStr2.length());
        System.out.println(newStr2);
        /*结果:
        *20
        hello csdn     
        10
        hello csdn
        * */

        //6、public String toUpperCase():转大写
        //7、public String toLowerCase():转小写
        //String类里面提供有大小写转换,但是这种转换的特征是可以避免非字母的转换
        //大小写转换
        String str3 = "Hello World!!!";
        System.out.println(str3.toUpperCase());//结果:HELLO WORLD!!!
        System.out.println(str3.toLowerCase());//结果:hello world!!!
    

        //自定义编写首字母大写的方法,因为String类没有提供
        System.out.println(StringUtil.initcap("hello world"));//结果:Hello world
        System.out.println(StringUtil.initcap("h"));//结果:H

    }

}

class StringUtil{
    public static String initcap(String str){
        //如果字符串等于空或者无内容,则原样返回字符串
        if (str == null || "".equals(str)){
            return str;
        }
        //如果str的长度为1,则调用大写的方法
        if (str.length() == 1){
            return str.toUpperCase();
        }
        //如果字符的长度即不为1,也不为空,则利用字符串截取第一位字符,进行大写转换,然后加上1到结尾的字符
        return str.substring(0,1).toUpperCase() + str.substring(1);
    }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java中的String是用于表示字符串,它包含许多常用方法来处理字符串,以下是一些常用字符串方法及其返回值: 1. length()方法:返回字符串的长度,即包含的字符数。 2. charAt(int index)方法:返回字符串中指定位置的字符。 3. substring(int beginIndex, int endIndex)方法:返回从指定位置开始到指定位置结束的子字符串,其中beginIndex表示开始位置(包含),endIndex表示结束位置(不包含)。 4. indexOf(char ch)方法:返回指定字符在字符串中第一次出现的位置,如果不存在则返回-1。 5. indexOf(String str)方法:返回指定字符串字符串中第一次出现的位置,如果不存在则返回-1。 6. replace(char oldChar, char newChar)方法:用指定的新字符替换字符串中所有的旧字符,并返回替换后的新字符串。 7. replaceAll(String regex, String replacement)方法:用指定的新字符串替换字符串中符合正则表达式的所有子串,并返回替换后的新字符串。 8. toUpperCase()方法:将字符串中的所有字母转换为大写字母,并返回新字符串。 9. toLowerCase()方法:将字符串中的所有字母转换为小写字母,并返回新字符串。 10. trim()方法:去除字符串两端的空格,并返回新字符串。 以上这些方法String常用的一些字符串方法,能够满足大多数字符串操作的需求。 ### 回答2: Java中的String是非常重要的一个常用于存储和操作字符串,其中字符串长度是一个基本概念。String中提供了一些常用方法获取字符串长度。 1. length()方法:该方法返回一个字符串的长度,即字符串中字符的个数。例如: ```java String str = "Hello World!"; int len = str.length(); ``` 上面的代码中,len的值为12,因为字符串中一共有12个字符。 2. isEmpty()方法:该方法返回一个布尔值,判断一个字符串是否为空。如果一个字符串的长度为0,则认为它是空的。例如: ```java String str = ""; boolean isEmpty = str.isEmpty(); ``` 上面的代码中,isEmpty的值为true,因为str是一个空字符串。 3. trim()方法:该方法去除字符串两端的空格,并返回去除空格后的字符串。例如: ```java String str = " Hello World! "; str = str.trim(); ``` 上面的代码中,在执行str.trim()方法之后,str的值变为了"Hello World!",去除了两端的空格。 4. getBytes()方法:该方法返回一个字节数组,表示该字符串中每个字符的字节编码。例如: ```java String str = "Hello World!"; byte[] bytes = str.getBytes(); ``` 上面的代码中,bytes的长度为12,因为字符串中一共有12个字符,每个字符占用1个字节。 5. length vs length():需要注意的是,length和length()虽然都可以用来获取字符串长度,但是它们的返回值型不同。length是一个数组的属性,返回该数组的长度;而length()是String方法,返回字符串的长度。因此,我们需要根据具体的情况选择使用哪个方法。 在实际开发中,我们会频繁地使用到这些方法,进行字符串长度的计算和判断,从而达到我们想要的程序效果。 ### 回答3: Java中的字符串是一种非常常见的数据型,可以使用String来创建和处理字符串。其中,字符串长度是String中的一个非常基本的方法,对于字符串的处理和操作都有着非常重要的意义。 字符串长度可以通过调用String中的length()方法获取。该方法返回的是一个整数值,表示该字符串中字符的数量,包括空格和特殊字符。例如,对于下面的字符串String str = "Hello World!"; 调用str.length()方法将返回整数值12,它是该字符串中字符的数量。如果该字符串为空字符串,即“”,那么调用该方法将返回整数值0。 在实际的开发中,字符串长度的获取非常常见,比如在字符串截取、比较、连接等操作中都需要用到字符串长度。另外,在一些具有字符个数限制的场景中(如数据库中的字段),该方法也可以用来判断字符串的长度是否符合规定。 除了length()方法,还有一个似的属性可以获取字符串的长度,就是String中的length属性。该属性是一个final型的整数,通过直接访问该属性可以获取字符串的长度。例如: String str = "Hello World!"; int len = str.length; 调用str.length将返回整数值12,它等价于调用str.length()方法。不过,需要注意的是,该属性是final型的,即一旦获取了长度值,就不能再修改了。 因此,对于字符串的操作和处理中,获取字符串长度是一项非常基本的操作。Java中提供了String中的length()方法和length属性来获取字符串的长度,能够满足我们大部分的需求。对于需要频繁使用的场景,也可以将获取到的长度值存储在变量中,以便下次使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值