java 字符串截取的两种方式详解 java 字符串截取的两种方式

java 字符串截取的两种方式

1.split()+正则表达式来进行截取。 

String.split()方法的原型是:public String[] split(String regex, int limit)

split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。
需要注意是有以下几点:
(1)regex是可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
(2)limit也是可选项。该值用来限制返回数组中的元素个数。
(3)要注意转义字符:“.”和“|”都是转义字符,必须得加"\\"。同理:*和+也是如此的。
   如果用“.”作为分隔的话,必须是如下写法:
   String.split("\\."),这样才能正确的分隔开,不能用String.split(".");

4)如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acountId=? and act_id =? or extra=?”,把三个都分隔出来,可以用

  String.split("and|or");不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时

2.通过subString()方法来进行字符串截取。 
subString通过不同的参数来提供不同的截取方式 
可以只传一个参数 ,也可以传两个参数,两个参数的时候顾头不顾尾

 
   
import java.util.*;
public class Demo {
	public static void main(String[] args) {
		String str = "abc,12,csdn,666.cd";
		String[]  strs=str.split(",");
		Demo re=new Demo();
		re.print(strs);
		
		System.out.println("***********");
		String[]  strs2=str.split("\\.");
		re.print(strs2);
		
		System.out.println("***********");
		String[]  strs3=str.split(",|\\.");
		re.print(strs3);
		
		System.out.println("***********");
		System.out.println(str.substring(2));//一个参数
		System.out.println(str.substring(2,7));//两个参数
		
	}
	public static void print(String[] strs) {
		for(int i=0,len=strs.length;i<len;i++){
		    System.out.println(strs[i].toString());
		}
	}
}
运行结果:
abc
12
csdn
666.cd
***********
abc,12,csdn,666
cd
***********
abc
12
csdn
666
cd
***********
c,12,csdn,666.cd
c,12,


猜你喜欢

转载自blog.csdn.net/weixin_30363263/article/details/80183976