当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript String split方法误操作

Javascript
拖动一个HTML元素
JavaScript使用prototype定义对象类型(转)[
枚举JavaScript对象的函数
在Javascript中定义对象类别
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
用JavaScript限制textarea输入长度 (For: IE、Firefox ...)[
检测邮箱地址是否合法 Check Mail Address (For: IE5+、FF1.06、Opera 7+ ...)[
用于自动添加Digg This!按钮的JavaScript
Javascript实例教程(19) 使用HoTMetal(1)
Javascript实例教程(19) 使用HoTMetal(2)
Javascript实例教程(19) 使用HoTMetal(3)
Javascript实例教程(19) 使用HoTMetal(4)
Javascript实例教程(19) 使用HoTMetal(5)
Javascript实例教程(19) 使用HoTMetal(6)
Javascript实例教程(19) 使用HoTMetal(7)
实现复选框全选/全不选切换
js不是基础的基础
IE的不合理设计和Bugs
js倒计时代码
js静态作用域的功能。

Javascript 中的 javascript String split方法误操作


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 390 ::
收藏到网摘: n/a

在项目中需要分析将一个有规则的字符串分割成一个字符串数组。 简单的一个例子
复制代码 代码如下:

package com.ky.ui.util;
/**
*@Author:张杰(北京开元安能电气技术有限公司)
*@Email:[email protected]
*@Version:1.0
*@Create_time:Sep 1, 2009 9:42:21 AM
*/
public class TestRex {
public static void main(String[] args) {
String str="aa$121$o0o1$";
String strp="aa,121,o0o1,";
String arrstr[]=str.split("$");
String arrstrp[]=strp.split(",");
for(int i=0;i<arrstrp.length;i++){
System.out.println(arrstrp[i]);
}
for(int i=0;i<arrstr.length;i++){
System.out.println(arrstr[i]);
}
}
}

打印结果

为什么会出现这样的结果。查了一下API

复制代码 代码如下:

split(String regex)
根据给定正则表达式的匹配拆分此字符串。

split分割时根据正则表达式来进行分割,不是根据java的字符规则来进行分割,$在正则表达式中表示的 $ 行的结尾
是行的结尾,所以不能以字符形式分割不出来。而-跟正则表达式的规则不发生冲突,可以正常进行转换.