Java截取字符串的方式

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


  Java里截取字符串的方式的有三种。

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

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

  例子:

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"));

 


 
 








 

posted on 2021-02-19 14:21  拾万个为什么  阅读(887)  评论(0编辑  收藏  举报