js中String对象的split方法与java中String类的split方法的区别

JavaScript与Java中String类的split方法的区别

笔者在学习js的时候,发现js中有很多类的方法和java中的方法作用一样,然后就犯了想当然的错误,在使用js中的某些方法的时候当成了java来使用;
有一次在js中切割字符串的时候,怎么切都得不到自己想要的结果,想了好久一直都想不明白,然后在java中测试了一下相同的操作却得到了想要的结果,这时我意识到是不是split方法在js和java中存在着一些细微的区别,随即查阅资料并实验多次发现,它们之间确实存在着一些细微的区别,下面就举例说明一下它们的区别。

js中切割字符串的split方法

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

	<script  type="text/javascript">
		var str = ",,a,b,c,,";
		var strArr = str.split(",");
		for(var i=0;i<strArr.length;i++){
			document.write("strArr["+i+"]="+strArr[i]+"<br/>");
		}
	</script>

页面显示结果:

strArr[0]=
strArr[1]=
strArr[2]=a
strArr[3]=b
strArr[4]=c
strArr[5]=
strArr[6]=

可以看到,js中的split方法就是根据给定的字符串或者正则表达式进行单纯的切割,然后把每一个切割后的字符串放进字符串数组中,不管结尾是不是空字符串,都放进字符串数组中。

java中切割字符串的split方法

public String[] split(String regex):根据给定的字符串或正则表达式的匹配拆分此字符串。所得数组中不包括结尾空字符串。
如:

	public static void main(String[] args) {
		String str=",,a,b,c,,";
		String[] strArr=str.split(",");//使用逗号切割字符串
		for (int i = 0; i < strArr.length; i++) {
			System.out.println("strArr["+i+"]="+strArr[i]);
		}
	}

控制台输出结果:

strArr[0]=
strArr[1]=
strArr[2]=a
strArr[3]=b
strArr[4]=c

可以看到,结尾的空字符串被舍弃了,最终的字符串数组结尾并没有空字符串元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值