美文网首页
字符串详解

字符串详解

作者: 没了提心吊胆的稗子 | 来源:发表于2019-07-06 18:02 被阅读0次

    字符串就是用单/双引号包裹起来的字符

    var str = 'i love javascript';
    

    有length属性表示长度,以数组为索引,从0开始,str[index],若指定索引不存在,获取结果是undefined,与数组类似

    字符串的方法

    charAt && charCodeAt

    str.charAt(index) :返回指定索引位置的字符,与中括号方式的区别在于若若指定索引不存在,返回空字符串
    str.charCodeAt(index):在charAt基础上,把获取的字符转为Unicode编码值(对应ASCII码表)
    48~57:0-9
    65~90:A-Z
    97~122:a-z
    ...
    String.fromCharCode:和charCodeAt对应,把ASCII码表中的值转为原有的字符

    substr && substring && slice

    实现字符串截取的三个方法
    str.substr(n,m):从索引n开始,截取m个字符
    str.substring(n,m):从索引开始,截取索引到m(不包含m)处的字符
    str.slice(n,m):同上,但支持负数索引,索引为负数时,会给它加上字符串的长度再进行操作
    1、若只传递n,相当于从索引n一直截取到字符串的末尾
    2、若传入的索引超出最大限制,会截取到最大能截取到的地方
    3、若不传,把整个字符串截取(字符串的克隆)
    4、若m小于n,substring会默认从小的开始到大的结束,slice会返回空字符串

    toLowerCase/toUpperCase

    分别把全部字符小/大写

    indexOf/lastIndexOf

    获取当前字符在字符串中第(最后)一次出现位置的索引,若没有返回-1

    split

    根据传入的字符把整个字符串拆分成数组中的某一项
    若字符串中没有传入的字符,则会把整个字符串当作数组的第一项返回
    参数支持正则
    参数传空字符会把每个字符都拆分
    不传参数不会拆

    replace

    字符替换
    执行一次replace只能替换一次,若有多处需要替换的内容,则需执行多次,但有正则结合就不用执行多次,
    有两个参数,第一个参数可以是一个字符串或者正则表达式,表示要被替换的内容,第二个参数是字符串或者函数,表示要替换的内容
    该函数有三个参数,第一个参数表示正则匹配到的内容,第二个参数是匹配到的位置,最后一个参数是原字符串(若正则内有分组,则参数个数根据分组确定,最后一个始终是原字符串,倒数第二个是位置,但中间的就是各个分组)。

    trim && trimLeft && trimRight:并不是所有浏览器都兼容left和right

    trim:去除字符串首尾空格
    trimLeft:去除字符串左边空格
    trimRight:去除字符串右边空格

    相关文章

      网友评论

          本文标题:字符串详解

          本文链接:https://www.haomeiwen.com/subject/zktmhctx.html