字符串替换和字符串拆分

字符串替换:

可以通过一个指定的内容进行指定字符串的替换显示;主要有两两个方法:

1、

public String replaceAll(String regex, String replacement);

进行全部替换

2、
public String replaceFirst(String regex, String replacement);
替换首个;

范例:

package 面向对象;

public class StringDemo02 {
    public static void main(String[] args) {
        String str = "helloworld";
        System.out.println(str.replaceAll("l", "X"));  //替换全部
        System.out.println(str.replaceFirst("l", "X"));  //替换首个
    }
}

输出结果:

heXXoworXd
heXloworld

在开发中,尤其是设计的时候替换很重要。

字符串拆分:

主要是可以根据一个指定的字符串或一些表达式实现字符串的拆分,并且拆分完成的数据将以字符串的形式返回。

1、public String[] split(String regex);

按照指定的字符串进行全部拆分;

2、public String[] split(String regex, int limit);

limit描述的是拆分的个数,按照指定的字符串拆分为指定个数,后面不拆了;

范例:观察字符串拆分处理

package 面向对象;

public class StringDemo02 {
    public static void main(String[] args) {
        String str = "hello world hello mldn";
        String[] res = str.split(" ");  //按空格拆分
        for (int x = 0; x < res.length; x++) {
            System.out.println(res[x]);
        }

    }
}

除了可以全部拆分之外,也可以拆分为指定的个数。

范例:拆分指定的个数

package 面向对象;

public class StringDemo02 {
    public static void main(String[] args) {
        String str = "hello world hello mldn";
        String[] res = str.split(" ", 2);  //按空格拆分
        for (int x = 0; x < res.length; x++) {
            System.out.println(res[x]);
        }

    }
}

输出结果:

hello
world hello mldn

但是在进行拆分的时候有可能会遇见拆不了的情况,这个时候最简单的理解就是使用"\"进行转义。

package 面向对象;

public class StringDemo02 {
    public static void main(String[] args) {
        String str = "hello world hello mldn";
        String[] res = str.split(" ", 2);  //按空格拆分
        for (int x = 0; x < res.length; x++) {
            System.out.println(res[x]);
        }

        String strA = "192.168.23";
        String[] resA = strA.split("\\.");  //用了转义字符
        for (int i = 0; i < resA.length; i++) {
            System.out.println(resA[i]);
        }

    }
}

字符串截取:

从一个完整的字符串中截取出子字符串,有两个方法:

1、public String substring(int beginIndex);

从指定索引截取到结束

2、public String substring(int beginIndex, int endIndex);

截取指定索引范围中的子字符串

范例:观察字符串截取操作

package 面向对象;

public class StringDemo02 {
    public static void main(String[] args) {
      String str = "www.mldn.cn";
        System.out.println(str.substring(4));  //mldn.cn
        System.out.println(str.substring(4, 8));  //mldn

    }
}

在实际开发中,有些时候的开始或结束索引往往是通过indexOf()方法计算得来的。

范例:观察截取字符串

package 面向对象;

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

        //字符串结构:"mldn-photo-姓名.jpg"
        String str = "mldn-photo-张三.jpg";

        //找到以photo为开始点的'-'的索引位置,然后再加1
        int beginIndex = str.indexOf("-", str.indexOf("photo")) + 1;
        int endIndex = str.lastIndexOf(".");
        System.out.println(str.substring(beginIndex, endIndex));
    }
}

输出结果:张三

在以后实际开发中,这种通过计算来确定索引的情况很常见

你可能感兴趣的:(字符串替换和字符串拆分)