您的位置:首页 > 其它

substring,substr,slice,splice,split

2015-02-06 11:09 281 查看
split()
函数用于使用指定分隔符分割字符串,并返回分割后的若干个子字符串组成的数组。

该函数属于
String
对象,所有主流浏览器均支持该函数。
语法:

stringObject.split( separator [, limit ] )


如果参数
separator
是字符串,则
split()
函数将直接根据该字符串进行分割,而不会试图转换为正则表达式。如果指定的
separator
参数为空字符串(""),那么
stringObject
中的每个字符之间都会被分割。

如果提供了
limit
参数,此函数返回的数组最多包含
limit
个元素。如果参数
limit
为负数,则该参数将被忽略掉。如果省略了
limit
,则
split()
函数不会考虑长度,直到分割完毕为止。如果
limit
为0,则返回空的数组。
返回值:

split()
方法的返回值为Array类型,返回完成分割后的子字符串数组。子字符串中不会包含
separator
本身。

如果
stringObject
中不存在
separator
参数的匹配,则返回只包含原字符串的数组。

事例&说明:

var str = "张三 李四 王五 赵六";
// 以空格字符串进行分割
var array = str.split(" ");
document.writeln( array ); // 张三,李四,王五,赵六
document.writeln( array.length ); // 4

str = "张三12李四34王五5赵六";
// 以数字进行分割
array = str.split(/\d+/);
document.writeln( array ); // 张三,李四,王五,赵六
document.writeln( array.length ); // 4

str = "Google YouTube Gmail CodePlayer";
// 最多返回3个元素
array = str.split(" ", 3);
document.writeln( array ); // Google,YouTube,Gmail
document.writeln( array.length ); // 3

// limit为负数将被忽略掉
array = str.split(" ", -1);
document.writeln( array ); // Google,YouTube,Gmail,CodePlayer
document.writeln( array.length ); // 4


substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符.

stringObject.substr(start,length);start必须,length可选.

start 是截取的开始位置的下标,从0开始算起,必须是数字.可以是负数,-1是倒数第一个字符,-2是倒数第二个字符,以此类推.

length 是要截取的字符的长度,必须是数字.如果未指定,则从start位置处开始截取到字符串结尾.

substr 指定的是字符串的开始下标跟截取长度,所以可以替代substring跟slice使用.

重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

stringObject.substring(start,end);start必须,end可选.

start 是截取的开始位置的下标,从0开始算起,必须是非负数字.(w3c说必须是非负整数,试验了下,不是整数也可以.)

end 必须是数字.如果未指定,则从start位置处开始截取到字符串结尾.

注意事项:substring截取的字符不包括end处的字符.所以截取的长度为end-start.

               start=end的话,返回空字符串,长度为0.

重要事项:substring不接收负的参数,slice和substr可以.

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

stringObject.slice(start,end);start必须,end可选.

start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

splice() 方法


定义和用法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

语法

arrayObject.splice(index,howmany,item1,.....,itemX)

参数描述
index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX可选。向数组添加的新项目。

返回值

类型描述
Array包含被删除项目的新数组,如果有的话。

说明

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

技术细节

JavaScript 版本:1.2


浏览器支持

所有主流浏览器都支持 splice() 方法。


提示和注释

注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。


实例

例子 1

在本例中,我们将创建一个新数组,并向其添加一个元素:
<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
[code]arr.splice(2,0,"William")

document.write(arr + "<br />")

</script>[/code]

输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

例子 2

在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:
<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
[code]arr.splice(2,1,"William")

document.write(arr)

</script>[/code]

输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin

例子 3

在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:
<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
[code]arr.splice(2,3,"William")

document.write(arr)

</script>[/code]

输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Martin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: