string是什么意思:一切都在掌控之中)
什么是学习?那就是向别人学习。像我一样-
什么叫努力学习?那就是学好别人的东西。像我一样-
好好学习,天天向上。像我一样-
没错,全是屁话,接下来要说的就是正经了。
在JavaScript代码中,数据类型经常出现。几乎在每一段代码中,我们都需要用一些方法来处理,才能得到我们想要的结果。这些方法多种多样,各有特点和用法。在这里,无论是复习还是学习,郑潇都会总结出用ECMAScript处理字符串的所有方法。
重要说明:为了让我的手跟上我的思维,我会通过chrome console做大部分例子。如果有什么不适应的地方,请去适应。
一、关于字符串分割1、切片
语法:切片
关于这个方法,我们必须了解四个关键点:
截取字符串时不包括带下标结尾的元素。
End是可选参数。如果不可用,将默认从开始到结束的所有字符串。
字符串切片和数组切片的区别
参数为负时怎么办。
第三点是字符串和数组在JavaScript中都有这个方法,它们的返回结果是不同的形式,一个是字符串,一个是浅拷贝数组。往下看其他三点就明白了。
2、substr
语法:substr
关于这个方法,我们还需要了解几个关键点:
第二个参数是子字符串中的字符数,必须是一个数值。你不能。
参数为负时怎么办。
最重要的一点来自官网的解释,如下:
由于substr的参数指定了子串的起始位置和长度,因此可以代替substring和slice使用。
3、子串
语法:substring
关于这个方法,我们还需要了解几个关键点:
停止字符不包含在返回的字符串中。
参数为负时怎么办。
如果参数start和stop相等,则该方法返回一个空字符串。
如果start大于stop,该方法将在提取子字符串之前交换这两个参数。
这种方法的作用也可以用切片法代替。
在谈论第四种方法之前,我们先来看看上述三种方法的区别和用途:
:两者都接收两个参数,slice和substring接收开始位置和结束位置,而substr接收要返回的字符串的开始位置和长度。
我认为下面的例子足以说明这一点:
看看控制台的结果,其中slice/substring截取从位置3到位置6的字符串“lo”,但不包括从0开始的位置6。相反,substr在位置3之后截取字符串“lo wor”。
需要注意的是,substring以两个参数中较小的一个作为起始位置,较大的一个参数作为结束位置。
来,在控制台验证:
上面这个会默认把小的当做起始位置。
接下来第三点很关键,一定要记得清楚。虽然不常用,但使用时容易引起bug。
:当参数为负时如何解决。
Slice:将字符串的长度加到对应的负数上,将结果作为参数。
Substr:只有将第一个参数添加到字符串长度的结果才会被用作第一个参数。
Substring:直接将负参数转换为0。
下面我举个例子,因为有一个参数和两个参数,所以我得分别举两种情况的例子来说明这个问题。
首先,先看一个参数:
解释一下上面的结果:字符串长度是11,所以slice和substr以带下标8的字母开头。结果就是“rld”。而substring直接将负数据转换为0,所以输出结果是“hello world”。
其次,看两个参数:
先回忆一下上面的定义:
切片:长度和负数作为参数相加。
子串:负数直接转换为0。
Substr:只添加第一个参数和长度作为第一个参数。
解释输出结果:slice是从下标3到下标7截取的字符串,这里是“lo w”。Substring,其中-4直接转换为0,所以根据定义从下标0截取为3,意思是“hel”。当最后一个substr的第一个参数不为负,第二个参数表示长度为负时,输出只能是空字符串。
4、分裂
语法:拆分
这个方法的作用是把一个字符串分成一个字符串数组。
有两件事要记住:
1.分隔符可以是字符串或正则表达式。
2.多少可选参数,指示返回数组的最大长度。
举两个例子: