字符串的截取、分割,截取指定字符前面(后面)所有字符

2023-05-16

关于字符串截取问题,从网上搜到总结一下:
已知一个字符串,截取第一个指定字符后面所有字符
首先得知道indexof("")的用法,例如String i = “abcdefg”,
那么 i.indexof(“c”),返回的是int型,意思就是获取c字符所在的位置,
i.indexof(“c”,2),返回也是int型,意思就是从字符第二位开始找c字符的位置。
两个返回值都是2。
(1)获取第一个"_"后面所有字符,举例:

String a = "abcd_efgh_ijklmn_";
int index = a.indexOf("_");//获取第一个"_"的位置
String after1 = a.substring(index + 1);
System.out.println("第一个_后面字符串为:" + after1);

输出结果为:

第一个_后面字符串为:efgh_ijklmn_

(2)获取第一个"_"前面所有字符,举例:

String a = "abcd_efgh_ijklmn_";
int index = a.indexOf("_");//获取第一个"_"的位置
String before1 = a.substring(0,index);
System.out.println("第一个_前面字符串为:" + before1);

输出结果为:

第一个_前面字符串为:abcd

(3)获取第二个"_"后面所有字符,举例:

String a = "abcd_efgh_ijklmn_";
String after2 = a.substring(a.indexOf("_",a.indexOf("_") + 1) + 1);
System.out.println("第二个_后面字符串为:" + after2);

输出结果为:

第二个_后面字符串为:ijklmn_

(4)获取第二个"_"前面所有字符,举例:

String a = "abcd_efgh_ijklmn_";
String before2 = a.substring(0,a.indexOf("_",a.indexOf("_") + 1));
System.out.println("第二个_前面字符串为:" + before2);

输出结果为:

第二个_后面字符串为:ijklmn_

获取第三个_前后字符按(3)(4)方法截取。
(5)根据"_"分割字符串成数组,举例:

String a = "abcd_efgh_ijklmn_";
String[] x = a.split("_");
System.out.print("分割后的字符为:");
for(int i = 0;i<x.length;i++){
      System.out.print(" " + x[i]);
 }

输出结果为:

分割后的字符为: abcd efgh ijklmn

如果是这样字符串要换个方法截取:

String b = "110.120.130.140.150";
String[] o = b.split("\\.");
System.out.print("分割后字符为:");
for(int i = 0;i<o.length;i++){
     System.out.print(" " + o[i]);
}

要添加转义字符,输出结果为:

分割后字符为: 110 120 130 140 150

上面(5)方法中,分割abcd_efgh_ijklmn_添加转义字符也可分割。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串的截取、分割,截取指定字符前面(后面)所有字符 的相关文章

随机推荐