Java 中String的split函数简介

在字符串处理过程中,我们经常遇到要把一个字符串转出字符数组,使用的split函数,下面就该函数进行简单说明。

split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

stringObj.split([separator],[limit])
参数:

stringObj   必选项。要被分解的 String对象或文字。该对象不会被 split 方法修改。
separator 可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽

略该选项,返回包含整个字符串的单一元素数组。 limit可选项。该值用来限制返回数组中的元素个数

说明:split 方法的结果是一个字符串数组,在 stingObj中每个出现 separator 的位置都要进行分解。separator

不作为任何数组元素的部分返回。

split 的实现直接调用的 matcher 类的 split 的方法。“ .”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义"\\."

如果用竖线“|”分隔的话,将出现不可得到的结果,必须改"\\|"

,+ * 不是有效的模式匹配规则表达式,用"\\*"和"\\+"转义后即可得到正确的结果。

但是此函数需要注意一下内容:

1."|"分隔符

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		   String str = "abcdef|ghijk|lmno|pqrst|";
	        String[] array = str.split("|");    //用"|"作为分隔符	        
	        System.out.println("size="+array.length);
	        for(String st: array){
	           System.out.print(st+",");
	        }
	}

得到的结果如下:

size=25
,a,b,c,d,e,f,|,g,h,i,j,k,|,l,m,n,o,|,p,q,r,s,t,|,

这个结果并非我希望的结果。

需要修改一下:

String[] array = str.split("\\|");

得到的结果如下:

size=4
abcdef,ghijk,lmno,pqrst,

2.","分割符

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	    String str = "abcdef,ghijk,lmno,pqrst,,,";
        String[] array = str.split(",");
       
        System.out.println("size="+array.length);
        for(String st: array){
            System.out.print(st+",");
        }
	}

得到的结果如下:

size=4
abcdef,ghijk,lmno,pqrst,

如果想得到后面几个空格的话,需要修改一下:

String[] array = str.split(",",-1);

得到的结果如下:

size=7
abcdef,ghijk,lmno,pqrst,,,,

3."."分隔符

<span style="color:#000000;">String value = "192.168.128.33";
String[] names = value.split("\\.");
for (int i = 0; i < names.length; i++)
  System.out.println(names[i]);</span>

得到的结果如下:

192

168

128

33

4.":"分隔符

<span style="color:#000000;">String s = new String("01:大汽车:02:小汽车");   
String a[] = s.split(":");    
for(int i=0;i<a.length;i++)
    System.out.println(a[i]);</span>
得到的结果如下:

01
大汽车
02
小汽车

5.一般字母分割

<span style="color:#000000;">String str = "1one123two456obc"; 
String[] strs2 = str.split("o");
for(int i = 0; i < strs2.length; i++)
   System.out.println("strs2["+i+"] = "+strs2[i]);</span>
得到的 结果如下:

strs2[0] = 1
strs2[1] = ne123tw
strs2[2] = 456
strs2[3] = bc



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值