1 .substring()
这个是比较常用的一个方法。
此方法有两种形式:
substring(int beginIndex); //提取从索引位置开始至结尾处的字符串部分substring(int beginIndex,int endIndex); //提取beginIndex开始到endIndex的字符串部分
实例代码:
String str = "你好,Java练习生"; //substring(int beginIndex); String substring1 = str.substring(3); //substring(int beginIndex,int endIndex); String substring2 = str.substring(3, 7); System.out.println(substring1);//Java练习生 System.out.println(substring2);//Java
需要注意的是:计数从0开始,如果超过了字符串长度则会报错:
java.lang.StringIndexOutOfBoundsException: String index out of range:
计算位置示意图
立即学习“Java免费学习笔记(深入)”;
2 split()+正则表达式
不常用,不过在某些特定场合特别好用。
格式:字符串.split("指定分隔符");–返回的是一个数组
举例(以英文逗号为分隔符):
String str = "good,good,study,day,day,up"; String[] split = str.split(","); for (String s: split) { System.out.println(s); }
3 StringUtils.substring()
需要在导入StringUtils的工具类。结合了很多方法。
因为每个人用的工具类不同所以只记录一种。
maven导入:
<dependency> <groupId>com.lispcast</groupId> <artifactId>org.apache.commons.lang</artifactId> <version>2.5.0</version> </dependency>
String substring(String str,int start):避免异常地从指定的String获取一个子字符串。
String substring(String str,int start, int end):可避免异常地从指定的String获取一个子字符串。
String substringAfter(String str,String separator):在第一次出现分隔符后获取子字符串。
String substringAfterLast(String str,String separator):在最后一次出现分隔符之后获取子字符串。
String substringBefore(String str,String separator):在第一次出现分隔符之前获取子字符串。
String substringBeforeLast(String str,String separator):在最后一次出现分隔符之前获取子字符串。
String substringBetween(String str,String tag):获取嵌套在同一String的两个实例之间的String。
String substringBetween(String str, String open, String close):获取嵌套在两个字符串之间的字符串。
测试:
String str = "大家好,我是练习两年半的个人练习生,cxk"; //- String substring(String str,int start):避免异常地从指定的String获取一个子字符串。 String substring1 = StringUtils.substring(str, 4); //- String substring(String str,int start, int end):可避免异常地从指定的String获取一个子字符串。 String substring2 = StringUtils.substring(str, 4, 7); //- String substringAfter(String str,String separator):在第一次出现分隔符后获取子字符串。 String substringAfter = StringUtils.substringAfter(str, ","); //- String substringAfterLast(String str,String separator):在最后一次出现分隔符之后获取子字符串。 String substringAfterLast = StringUtils.substringAfterLast(str, ","); //- String substringBefore(String str,String separator):在第一次出现分隔符之前获取子字符串。 String substringBefore = StringUtils.substringBefore(str, ","); //- String substringBeforeLast(String str,String separator):在最后一次出现分隔符之前获取子字符串。 String substringBeforeLast = StringUtils.substringBeforeLast(str, ","); //- String substringBetween(String str,String tag):获取嵌套在同一String的两个实例之间的String。 String substringBetween1 = StringUtils.substringBetween(str, ","); // - String substringBetween(String str, String open, String close):获取嵌套在两个字符串之间的字符串。 String substringBetween2 = StringUtils.substringBetween(str, "好", "的"); System.out.println(substring1); System.out.println(substring2); System.out.println(substringAfter); System.out.println(substringAfterLast); System.out.println(substringBefore); System.out.println(substringBeforeLast); System.out.println(substringBetween1); System.out.println(substringBetween2);