Js:字符串常见的操作方法concat()、slice()、substr()、substring()以及切片操作

拼接字符串concat()"+"

concat()

var stringValue = "hello ";
var result = stringValue.concat("world");
alert(result); //"hello world"
alert(stringValue); //"hello"

实际上, concat() 方法可以接受任意多个参数,也就是说可以通过它拼接任意多个字符串。再看一个例子:

var stringValue = "hello ";
var result = stringValue.concat("world", "!");
alert(result); //"hello world!"
alert(stringValue); //"hello"

注:加号操作符在大多数情况下都比使用 concat()方法要简便易行(特别是在拼接多个字符串的情况下)。


三个基于子字符串创建新字符串的方法slice() 、 substr()substring()

参数一:指定子字符串的开始位置
参数二:(在指定情况下)表示子字符串到哪里结束
若没给参数二,默认字符串的长度作为结束位置

var stringValue = "hello world";
alert(stringValue.slice(3)); //"lo world"
alert(stringValue.substring(3)); //"lo world"
alert(stringValue.substr(3)); //"lo world"

alert(stringValue.slice(3, 7)); //"lo w"
alert(stringValue.substring(3,7)); //"lo w"
alert(stringValue.substr(3, 7)); //"lo worl"

三者区别:

slice()substring() 的第二个参数指定的是子字符串最后一个字符后面的位置
substr() 的第二个参数指定的则是返回的字符个数

Tips若传递的参数是负值的情况下:
slice() 方法会将传入的负值与字符串的长度相加
substr() 方法将负的第一个参数加上字符串的长度,而将负的第二个参数转换为 0
substring() 方法会把所有负值参数都转换为 0。

var stringValue = "hello world";
alert(stringValue.slice(-3)); //"rld"
alert(stringValue.substring(-3)); //"hello world"
alert(stringValue.substr(-3)); //"rld"

alert(stringValue.slice(3, -4)); //"lo w"
alert(stringValue.substring(3, -4)); //"hel"
//alert(stringValue.substring(3, 0))
//此时会将较小的数作为开始位置,将较大的数作为结束位置

alert(stringValue.substr(3, -4)); //""

字符串切片操作
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

切片的语法:[起始:结束:步长]

步长:表示下标变化的规律。

注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。

name = 'abcdef'     

print(name[0:3]) # 取 下标0~2 的字符

name = 'abcdef'     

print(name[0:5]) # 取 下标为0~4 的字符

name = 'abcdef'     

print(name[3:5]) # 取 下标为34 的字符

name = 'abcdef'     

print(name[2:]) # 取 下标为2开始到最后的字符

name = 'abcdef'     

print(name[1:-1]) # 取 下标为1开始到倒数第2个之间的字符
>>> a = "abcdef" 

>>> a[:3] 

'abc' 

>>> a[::2] 

'ace' 

>>>a[5:1:2] 

'' 

>>>a[1:5:2] 

'bd

>>> a[::-2] 

'fdb' 

>>> a[5:1:-2] 

'fd'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
slice()方法是JavaScript中的一个数组方法,它用于从数组中提取指定的部分并返回一个新的数组。slice()方法接受两个参数,第一个参数是起始位置的索引,第二个参数是结束位置的索引(不包括结束位置的元素)。如果省略第二个参数,则slice()方法会提取从起始位置到数组末尾的所有元素。 引用\[1\]中的示例展示了如何使用slice()方法将NodeList对象转换为数组。通过使用document.querySelectorAll()方法选择HTML文档中的所有<p>节点,然后使用slice()方法将NodeList转换为数组。 引用\[2\]中的示例展示了如何使用slice()方法创建一个替换函数。通过在String.prototype上定义一个新的方法append(),该方法接受一个索引和一个值作为参数,并使用slice()方法将字符串分成两部分,然后在指定的索引处插入新的值。 引用\[3\]中的示例展示了如何使用slice()方法将看起来像数组的对象转换为数组。通过在函数TransformToArray()中使用Array.prototype.slice.call(arguments),可以将传入的参数转换为一个新的数组。 总结来说,slice()方法是用于提取数组的一部分并返回一个新数组的方法。它可以用于将NodeList对象转换为数组,也可以用于在字符串中插入新的值,还可以用于将看起来像数组的对象转换为真正的数组。 #### 引用[.reference_title] - *1* *2* *3* [5 个JavaScript 中 Slice()的用例](https://blog.csdn.net/snsHL9db69ccu1aIKl9r/article/details/121463149)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值