Java 字符串(二)字符串常用操作

一、连接字符串

  1、连接多个字符串

    使用“+”运算符可以实现连接多个字符串的功能。“+” 运算符可以连接多个运算符并产生一个 String 对象。

  2、连接其他数据类型

    字符串与其他基本数据类型进行连接,会将这些数据直接转换成字符串。

  3、public String concat(String str)

    将指定的字符串连接到该字符串的末尾。

   Demo:

 1 public static void main(String[] args) {
 2         String  str1 = "Hello";
 3         String  str2 = "Java";
 4 
 5         // 使用"+" 运算符连接
 6         System.out.println(str1+" "+str2);              // Hello Java
 7 
 8         int booktime = 4;
 9         double practice = 4.5;
10         // 连接不同数据类型的字符串
11         System.out.println("我每天花费"+booktime+"小时看书,"+practice+"小时练习");  // 我每天花费4小时看书,4.5小时练习
12 
13         // concat:将字符串连接到该字符串尾部。
14         System.out.println(str1.concat(" World"));      // Hello World
15 
16     }

二、判断功能的方法

  1、public boolean equals( Object anObject) 

    此方法将此字符串与指定对象进行比较。

  2、public boolean equalsIgnorCase(String anOtherString)

       将此字符串与指定字符串对象比较,忽略大小写。

    Demo:

 1 public static void main(String[] args) {
 2 
 3 // 创建字符串对象
 4 String s1 = "hello";
 5 String s2 = "hello";
 6 String s3 = "HELLO";
 7 
 8 // boolean equals(Object obj):比较字符串的内容是否相同
 9 System.out.println(s1.equals(s2)); // true
10 System.out.println(s1.equals(s3)); // false
11 
12 //boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
13 System.out.println(s1.equalsIgnoreCase(s2)); // true
14 System.out.println(s1.equalsIgnoreCase(s3)); // true
15 
16 }

        注意

      a、== 是进行对象的地址值比较,比较字符串的内容用 equal 方法。

      b、在使用 equal 的时候,如果比较双方一个常量一个变量,推荐把常量字符串写在前面,因为一旦变量为 null ,会报空指针异常。

    扩展Object 对象的意思,也是一种引用类型。作为参数类型,表示任意对象都可以传递到方法中

三、获取字符串信息的方法

  1、public int length()

    返回此字符串的长度。

  2、public char charAt(int index)

    返回指定索引处的 char 值。

  3、public int indexof(String str)

    返回指定子字符串第一次出现在该字符串内的索引,如果没有检索到,返回 -1。

  4、public int lastIndexof(String str)

    返回指定子字符串在此字符串中最后一次出现处的索引位置,如果没有检索到,返回 -1。

  5、public boolean contains(CharSequence str)

     当且仅当此字符串包含指定的 char 值序列时,返回 true。

   Demo:

 1 public static void main(String[] args) {
 2    String s = "Hello World";
 3 
 4    // int length :获取字符串的长度,其实也就是字符个数
 5    System.out.println(s.length());            // 11
 6 
 7    //char charAt(int index) 获取指定索引处的字符
 8    System.out.println(s.charAt(0));           // H
 9 
10    //int indexOf(String str):获取str在字符串对象中第一次出现的索引,没有返回‐1
11    System.out.println(s.indexOf("o"));        // 4
12 
13    //int lastIndexOf(String str):获取str在字符串对象中最后一次出现的索引,没有返回‐1
14    System.out.println(s.lastIndexOf("rl"));   // 8
15 
16    //boolean contains(String str):查看指定的字符串是否在该字符串中,存在为true,不存在为 false
17    System.out.println(s.contains("Wo"));      //  true
18 }

四、转换功能的方法

  1、public char[ ] toCharArray()

        将此字符串转换为新的字符数组。

  2、public byte[ ] getBytes()

     使用平台的默认字符集将该 String编码转换为新的字节数组。

  3、public String replace(CharSequence target,CharSequence replacement)

    将与target匹配的字符串使用replacement字符串替换。(如果没有可以匹配的字符,将原字符串返回)

  4、public String toLowerCase()

      使用默认语言环境的规则将此 String 中的所有字符都转换为小写。

  5、public String toUpperCase()

     使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

   Demo:

 1 public static void main(String[] args) {
 2         String str = "abcdefg";
 3 
 4         // char[] toCharArray():把字符串转换位字符数组
 5         char[] chars = str.toCharArray();
 6         System.out.println(Arrays.toString(chars));     // [a, b, c, d, e, f, g]
 7 
 8 
 9         // byte[] getBytes():把字符串转换为字节数组
10         byte[] bytes = str.getBytes();
11         System.out.println(Arrays.toString(bytes));     //  [97, 98, 99, 100, 101, 102, 103]
12 
13         String str2 = "iT,i Love You";
14 
15         // String replace(old str,new str):把匹配的原来的字符串用新的字符串替换掉
16         String replace = str2.replace("i", "I");
17         System.out.println(replace);                    //  IT,I Love You
18 
19         //String toLowerCase():将此 String 中的所有字符都转换为小写。
20         System.out.println(str2.toLowerCase());         //  it,i love you
21 
22         //String toUpperCase():将此 String 中的所有字符都转换为大写。
23         System.out.println(str2.toUpperCase());         //   IT,I LOVE YOU
24 
25 
26     }

     扩展CharSequence 是一个接口,也是一种引用类型。作为参数类型,可以把String对象传递到方法中。

五、截取分割字符串的方法

  1、public String subString(int beginIndex)

    返回一个子字符串,从beginIndex开始截取字符串到字符串结尾。

  2、public String subString(int beginIndex,int endIndex)

    返回一个子字符串,从beginIndexendIndex截取字符串。含beginIndex,不含endIndex。(左闭右开区间)

  3、public String split(String regex)

     将此字符串按照给定的regex(规则,可以是正则表达式)拆分为字符串数组。

    注意:如果按照英文句点“.”进行切分,必须写"\\."(两个反斜杠)

   Demo:

 1 public static void main(String[] args) {
 2         String str = "aa|bb|cc|dd|ee";
 3 
 4         //String subString(int start):从start开始截取字符串到字符串结尾
 5         System.out.println(str.substring(6));        // cc|dd|ee
 6 
 7         //String subString(int start,int end):从start到end截取字符串。含start,不含end。
 8         System.out.println(str.substring(2,8));      // |bb|cc
 9 
10         //String split(string regex):按照给定的regex(规则)拆分为字符串数组。
11         String[] split = str.split("|");
12 
13         System.out.println(Arrays.toString(split));  //[a, a, |, b, b, |, c, c, |, d, d, |, e, e]
14         
15     }

六、其他方法

  1、public String trim()

        返回字符串的副本,忽略前导空白和尾部空白。

  2、public boolean startsWith(String prefix)

    测试此字符串是否以指定的前缀开始。

  3、public boolean endsWidth(String suffix)

     测试此字符串是否以指定的后缀结束。

  4、public int campareTo()

     按字典顺序比较两个字符串。

  5、public int compareToIgnoreCase()

    按字典顺序比较两个字符串,忽略大小写。

    注意:该比较基于字符串中各个字符的 Unicode 值,按字典顺序将此 String对象表示的字符序列与参数字符串所表示的字符序列进行比较。

       如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数;如果这两个字符串相等,则结果为 0。

    Demo:

 1  public static void main(String[] args) {
 2         String str = "  Hello World ";
 3 
 4         //String trim():忽略字符串前导空白和尾部空白。
 5         System.out.println(str.trim());                      //  Hello World
 6 
 7         // boolean startswith测试此字符串是否以指定的前缀开始。
 8         System.out.println(str.startsWith("  He"));          // true
 9         System.out.println(str.startsWith("he"));            // false
10 
11         // boolean endswith测试此字符串是否以指定的后缀结束。
12         System.out.println(str.endsWith("ld "));             // true
13         System.out.println(str.endsWith("ll"));              // false
14 
15         //
16         String str2 = "hello java";
17         //compareTo()字典顺序比较两个字符串。
18         System.out.println(str2.compareTo(str));             // 72
19         // compartToIgnoreCase()字典顺序比较两个字符串,忽略大小写
20         System.out.println(str2.compareToIgnoreCase(str));   // 72
21     }

 

 

  

 

转载于:https://www.cnblogs.com/niujifei/p/11303699.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值