Java截取字符串的方式

  个人上一篇随笔记录了HANA数据现库截取字符串的方式,那么,对于Java开发来讲,现实的开发里确定也会遇到截取字符串截取的问题。java


  Java里截取字符串的方式的有三种。正则表达式

 1.使用java.lang包里的String.split()方法

  split()方法里传进来一个正则,用来做为截取的标准。apache

  例子:数组

String str = "Shi,Wan,Ger,Wei,Shen,Mer";
//以逗号","做为分隔标准,返回一个字符串类型数组
String[] arr = str.split(",");
//结果为:Shi
String s1 = arr[0];
//结果为:Wan
String s2 = arr[1];
使用这种方式存在如下注意点:
1)使用这种方式来截取字符串会比较影响效率,由于编译器在解释正则表达式的时候比较费时间;
2)若是想使用"."做为分隔符,好比在"."前面加上"\\",如split("\\."),第一个\是转义,\.是正则,同理,"|"也必须这样写;
3)当字符串有多个分隔符时,能够用"|"把分隔符链接,好比
 
String str1 = "Shi,Wan%Ger%Wei,Shen,Mer";
//返回一个字符串类型数组
 String[] arr1 = str1.split(",|%");
//结果为:Shi
 String a1 = arr1[0];
//结果为:Wan
 String a2 = arr1[1];
 

2.使用subString()方法(这种方式应该归类到第三点去的,由于这个方法属于String工具类的方法)
1) subString(i)表示从下标为i的下标开始,截取从i到末尾的字符串;
 String str = "ShiWanGerWeiShenMer";
  //从下标为3的字符开始截取(包含下标为3的字符),输出结果为:WanGerWeiShenMer
 System.out.println(str.substring(3));
2) subString(i,j)表示从下标为i的地方开始,截取到j为止的字符串(不包含j)。
 
String str = "ShiWanGerWeiShenMer";
//输出结果为:W
System.out.println(str.substring(3,4));

3.String工具类提供的方法
StringUtils是String的工具类,里面提供了截取字符串的方法。
在此以前,须要导入commons-lang3-3.1.jar包,下载地址是https://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.1,idea导入方式以下:
1)先下载好jar包放在本身知道的位置;
2)File---Project Structure---Libraries---点击+号---Java---选择你保存jar包的路径---OK.
 
String str = "ShiWanGerWeiShenMer";
 //截取第一个G以前的字符串
 StringUtils.substringBefore(str, "G");
 //结果为:ShiWan
 System.out.println(StringUtils.substringBefore(str, "G"));
//截取第一个G以后的字符串 StringUtils.substringAfter(str, "G"); //结果为:erWeiShenMer System.out.println(StringUtils.substringAfter(str, "G"));
相关文章
相关标签/搜索