JS: 拆分固定性结构的字符串
作者:黑马
Javascript提供强大的字符串处理功能,基于string的split方法就是用于拆分字符串的方法,其作用是将一个字符串对象拆分为若干子字串(substring),拆分后的子字串存放于数组(array)中。split的语法如下:
split(separator, limit)
两个参数中,separator为原字符串(即待处理的字符串)的分隔符号,limit为拆分数组量限制(即拆出多少个子字串)。
使用split方法需要注意两个问题:
一是,待处理的字符串必须是有固定结构的。具体地说,这个字符串是写在一行中的有固定分隔符号的文本,例如:“文章地址#文章标题#作者#发表时间#备注”。这个结构的文本,用井号(#)将各单元的信息分隔开来;
二是,limit的定义要小于等于待处理字串应有的单元总量,否则,超出单元量的子串将被视为是未定义的(undefined),而当limit的定义小于待处理字串的单元量,其后的单元信息将被忽略。
以下给出一个完整的split方法应用实例:
<script language="javascript">
var MyStr="文章地址#文章标题#作者#发表时间#备注"; //待处理的字符串
var ar_str=MyStr.split("#",4); //拆分字符串 MyStr 赋值给变量 ar_str
var newstr=""; //要打印的新字符串
var i=0; //定义计数器变量
while(i<=4) { //遍历拆分出来的数组并赋值给欲打印的字符串
newstr+=ar_str[i] + "<br>";
i++;
}
document.write(newstr); //打印新字符串
</script>
运行结果如下:
文章地址 文章标题 作者 发表时间 undefined
我们发现,原字串中的“备注”单元未被正确打印出来,原因是limit参数我们定义为4,而while语句遍历的数量是5(从0到4),第5个数组元素(序号为4)未被定义(undefined)。
拆分固定结构的字符串在网页制作中用处很大,比如,做网页导航或音乐播放页面,我们设置一个有规则的JS文本库并在web页里引用它,然后根据需要将其一一拆分再组合成新的结构。
【 黑马 2008.8.28 于 Tonglin 】
网 |

