分割+截取的简单使用
简单分割
老师上课的时候大概会举类似的例子把?
String str = "a-b-c-d-e-"; //给定一个字符串
String[] split = str.split("-"); //将字符串按照某一规则分割
//打印出来瞧瞧?
for (String s : split) {
System.out.print(s + " ");
}
分割结果:
嗯?好像没什么大不了的……下面继续看简单截取的使用。更简单了!
简单截取
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分割结果:
很明显的上面的1和dz是我们想要的参数值,下面再分割一下:
String[] split2 = res.split("-"); 按照“-”进行分割
for (String s : split2) {
System.out.println(s); //打印分割结果
}
很明显的,按照下标顺序,下标为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]+" ");
}
}
再看结果:
到这里,是不是立马就能想到id和name应该怎么被使用了?对,传参数。
id截取(或者截取其他由某种规则拼接起来的串儿)
是不是感觉前面加上English字母,也立马儿就变得高大上起来了?
下面假定id是由“,”分割拼接出来的一个字符串,那么他的后面或者是前面必定会多出来一个“,”,那这个时候想要使用就需要将前面(后面)的“,”截取出去:
String ids = "1,2,3,4,5,"; //由“,”拼接的id
ids = ids.substring(0,ids.length()-1); //从开始位置截取到倒数第二个
System.out.println("字符串截取之后:"+ids); //打印
截取的结果:
提到多个id,是不是也能马上想到某种批量操作?
结尾
没有“废柴”的方法,只有不会使用的人。
把它放在某种应用的场景里面,或许马上就能知其意。
骚年~发散你的思维吧!
邓爷爷讲的没错:实践才是检验真理的唯一标准。
如果还有其他更好的应用场景或者是学习方法,欢迎评论区戳我。(我很爱学习的 [手动的帅])