字符串的分割、截取

文章目录

      • 分割+截取的简单使用
        • 简单分割
        • 简单截取
      • 升级版分割+截取的使用
        • url分割
        • id截取(或者截取其他由某种规则拼接起来的串儿)
      • 结尾

分割+截取的简单使用

简单分割

老师上课的时候大概会举类似的例子把?

	String str = "a-b-c-d-e-"; //给定一个字符串
	String[] split = str.split("-"); //将字符串按照某一规则分割
	//打印出来瞧瞧?
	for (String s : split) {
		System.out.print(s + " ");
	}

分割结果:
字符串的分割、截取_第1张图片

嗯?好像没什么大不了的……下面继续看简单截取的使用。更简单了!

简单截取

    String str2 = "a-b-c-d-e-";  //还是给定一个字符串
    //按照开始索引位置和结束索引位置,截取出str2的一个子字符串
    String substring = str2.substring(0,str2.length()-1);
    //还是打印出来看看
	System.out.println("字符串截取之后:"+substring);

截取结果:
截取字符串结果

最后一个“-”好像去掉了?嗯,没错。下面看一下升级版分割+截取的使用。

升级版分割+截取的使用

url分割

还是分割,但是这次不对abcde进行分割了,而是对url进行分割,是不是感觉立马就变得高大上了?

		String url = "localhost://s/get?id=1&name=dz";//给定一个url请求
		String[] splitUrl = url.split("="); //按照等号进行分割
		// 打印分割后的数组并将分割后的字符重新拼接到res
		String res="";
		for (String s : splitUrl) {
			if (s.contains("&")) {
				String[] split2 = s.split("&"); //按照&符号进行分割
				for (String s2 : split2) {
					res+=s2+"-";
				}
			} else {
				res+=s+"-";
			}
		}
		//打印出分割之后的结果
		System.out.println(res);

url分割结果:
字符串的分割、截取_第2张图片
很明显的上面的1和dz是我们想要的参数值,下面再分割一下:

	String[] split2 = res.split("-"); 按照“-”进行分割
	for (String s : split2) {
		System.out.println(s); //打印分割结果
	}

字符串的分割、截取_第3张图片
很明显的,按照下标顺序,下标为1的和下标为3的使我们想要的。那我就把它取出来:

	String[] split2 = res.split("-");
	for (int i = 0; i < split2.length; i++) {
		if (i % 2 != 0) {//不能被2整除的数,是奇数:1,3
			System.out.print(split2[i]+"  ");
		}
	}

再看结果:
url最终分割结果

到这里,是不是立马就能想到id和name应该怎么被使用了?对,传参数。

id截取(或者截取其他由某种规则拼接起来的串儿)

是不是感觉前面加上English字母,也立马儿就变得高大上起来了?

下面假定id是由“,”分割拼接出来的一个字符串,那么他的后面或者是前面必定会多出来一个“,”,那这个时候想要使用就需要将前面(后面)的“,”截取出去:

	String ids = "1,2,3,4,5,"; //由“,”拼接的id
	ids = ids.substring(0,ids.length()-1); //从开始位置截取到倒数第二个
	System.out.println("字符串截取之后:"+ids); //打印

截取的结果:
字符串的分割、截取_第4张图片
提到多个id,是不是也能马上想到某种批量操作?

结尾

没有“废柴”的方法,只有不会使用的人。
把它放在某种应用的场景里面,或许马上就能知其意。
骚年~发散你的思维吧!

邓爷爷讲的没错:实践才是检验真理的唯一标准。

如果还有其他更好的应用场景或者是学习方法,欢迎评论区戳我。(我很爱学习的 [手动的帅])

你可能感兴趣的:(#,java,字符串,java)