常见操作String的方法(截取子串,分割字符串,字符串的替换)

常见操作String的方法(截取子串,分割字符串,字符串的替换)

截取子字符串substring()

substring()方法有两种重载形式,一种是从指定位置截取到字符串结尾,另一种是截取指定范围的内容。下面对这两种方法分别进行介绍。

1.substring(int beginIndex)

此形式用于截取从索引位置开始到结尾处的字符串部分。调用时,括号中是需要提取字符串的开始位置,方法的返回值是要提取的字符串。例如:

String str = "我爱 Java 编程";
String result = str.substring(3);
System.out.println(result);    // 输出:Java 编程

2.substring(int beginIndex,int endIndex)

此方法中的beginIndex表示截取的起始索引,截取的字符串中包括起始索引对应的字符;endIndex表示结束索引,截取的字符串中不包括结束索引对应的字符,如果不指定endIndex,就如第一种传参形式,表示截取到目标字符串的末尾。这种方法用于截取位置beginIndex和位置endIndex之间的字符串部分。例如:

String str = "我爱 Java 编程";
String result = str.substring(3,6);
System.out.println(result);		//输出:Jav

分割字符串split()

String类的split()方法可以按照指定的分隔符对目标字符串进行分割,分割后的内容存放在字符串数组中。该方法主要有以下两种重载形式:

str.split(String sign);
str.split(String sign,int limit);

其中参数的含义如下:

  • str 为需要分割的目标字符串。
  • sign 为指定的分割符,可以是任意字符串。
  • limit 表示分割后生成的字符串的限制个数,如果不指定,则表示不限制,直到将整个目标字符串完全分割为止。

传入分隔符参数需要注意:

1)“.”和“|”都是转义字符,必须得加“\”。 即必须写成str.split("\\.")str.split("\\|")。

2)如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or")

使用split()方法对字符串进行分割实例如下:

public static void main(String[] args) {
    
    
    String Colors = "Red,Black,White,Yellow,Blue";
    String[] arr1 = Colors.split(","); // 不限制元素个数
    String[] arr2 = Colors.split(",", 3); // 限制元素个数为3
    System.out.println("arr1中的子串有:");
    for (int i = 0; i < arr1.length; i++) {
    
    
        System.out.println(arr1[i]);
    }
    System.out.println("arr2中的子串有:");
    for (int j = 0; j < arr2.length; j++) {
    
    
        System.out.println(arr2[j]);
    }
}

程序运行结果如下:

arr1中的子串有:
Red
Black
White
Yellow
Blue
arr2中的子串有:
Red
Black
White,Yellow,Blue

从运行结果可以看出,当指定分隔字符串后组成的字符串数组的长度(大于或等于1)时,数组的前几个元素为字符串分割后的前几个字符,而最后一个元素为字符串的剩余部分。

例如,在该实例中,指定了arr2的长度为3,而字符串长度为3,而字符串Colors分隔后组成的数组长度为5,因此会将arr2中的前两个元素赋值为Colors分隔后的前两个字符,arr2中的第3个元素为Colors字符串的剩余部分组成的字符串。

字符串的替换replace(),replaceFirst()和replaceAll()

在Java中,String类提供了3种字符串替换的方法,分别是replace(),replaceFirst()和replaceAll(),下面将详细介绍它们的使用方法

replace()

replace()方法用于将目标字符串中的指定字符(串)替换成新的字符(串),其语法格式如下:

str.replace(String oldChar,String newChar)

其中,oldChar表示被替换的字符串;newChar表示用于替换的字符串。replace()方法会将字符串中的所有oldChar替换成newChar。

示例:

创建一个字符串,对它使用replace()方法进行字符串替换并输出结果。代码如下:

public static void main(String[] args) {
    
    
    String words = "hello java,hello php";
    System.out.println("原始字符串是'"+words+"'");
    System.out.println("replace(\"l\",\"D\")结果:"+words.replace("l","D"));
    System.out.println("replace(\"hello\",\"你好\")结果:"+words.replace("hello","你好 "));
    words = "hr's dog";
    System.out.println("原始字符串是'"+words+"'");
    System.out.println("replace(\"r's\",\"is\")结果:"+words.replace("r's","is"));
}

运行结果如下所示:

原始字符串是'hello java,hello php'
replace("l","D")结果:heDDo java,heDDo php
replace("hello","你好")结果:你好 java,你好 php
原始字符串是'hr's dog'
replace("r's","is")结果:his dog

replaceFirst()

replaceFirst()方法用于将目标字符串中匹配某正则表达式的第一个子字符串替换成新的字符串,其语法格式如下:

str.replaceFirst(String regex, String replacement)

其中,regex表示正则表达式;replacement表示用于替换的字符串。例如:

String words = "hello java,hello php";
String newStr = words.replaceFirst("hello","你好 ");
System.out.println(newStr);    // 输出:你好 java,hello php

replaceAll()

replaceAll()方法用于将目标中匹配某正则表达式的所有子字符串替换成新的字符串,其语法形式如下:

str.replaceAll(String regex, String replacement)

其中,regex 表示正则表达式,replacement 表示用于替换的字符串。例如:

String words = "hello java,hello php";
String newStr = words.replaceAll("hello","你好 ");
System.out.println(newStr);    // 输出:你好 java,你好 php

猜你喜欢

转载自blog.csdn.net/qq_51372098/article/details/113361454
今日推荐