substring,substr,slice,splice,split

本文详细介绍了JavaScript中的字符串操作方法,包括split()、substr()、substring()、slice()等函数的使用方法及注意事项,还介绍了splice()方法如何应用于数组的增删改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 />")
arr.splice(2,0,"William")
document.write(arr + "<br />")

</script>

输出:

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 />")
arr.splice(2,1,"William")
document.write(arr)

</script>

输出:

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 />")
arr.splice(2,3,"William")
document.write(arr)

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Martin


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值