美文网首页
JS字符串的操作方法

JS字符串的操作方法

作者: 饥人谷_Tom | 来源:发表于2018-01-19 17:15 被阅读16次

    字符串是什么

    字符串是零个或多个排在一起的字符,放在单引号或者双引号之中

    "123"
    '123'
    "abc123"
    

    多行与转义

    转义

    问题:

    1. 如果要在单引号字符串的内部,使用单引号
    2. 如果要在双引号字符串的内部,使用双引号

    这个时候就需要使用转义了,转义符\

    'He\'s dog'
    "He has a \"pen\""
    

    多行

    字符串默认只能写在一行内,分成多行将会报错

    "a
    b
    c
    "
    //"SyntaxError: Invalid or unexpected token
    

    如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠\

    var longString = "abc \
    def \
    ghi \
    jkl \
    mno \
    pqr \
    stu \
    vwx \
    yz";
    console.log(longString); //"abc def ghi jkl mno pqr stu vwx yz"
    

    上面的代码表示,加了\以后,原来写在一行的字符串,可以分成多行,效果与写在同一行完全一样。注意,\后面必须是换行符(即不能有其他字符,包括空格),否则报错。

    使用连接运算符+也可以链接多个单行字符串,模拟多行字符串

    var longString = "abc "
    + "def "
    + "ghi "
    + "jkl "
    + "mno "
    + "pqr "
    + "stu "
    + "vwx "
    + "yz";
    console.log(longString); //"abc def ghi jkl mno pqr stu vwx yz"
    

    如果字符串的正常内容之中,需要包含\,则\前面需要加上一个\,用来对自身转义

    "C:\\users\\"; //输出"C:\users\"
    

    常见的字符串方法

    1. 基础方法
    • 长度
      str.length    
      
    • 获取字符串中任意一个字符
      str[0];
      str[str.length-1];
      str.charAt(0);
      str.charCodeAt(0); //获取字符串某个字符的Unicode码对应的数字,0到65535之间的整数    
      
    1. 字符串截取
    • substr(start,length)
      • start 起始字符的索引
      • long 截取的长度,可选
      var str = "abcdefghijklmnopqrstuvwxyz";
      console.log(str.substr(1,3)); //"bcd"
      console.log(str); //"abcdefghijklmnopqrstuvwxyz"    
      
    • substring(indexStart,indexEnd)
      • indexStart 起始字符的索引
      • indexEnd 截止字符的索引,截取的字符串不包括这个索引对应的字符
      var str = "abcdefghijklmnopqrstuvwxyz";
      console.log(str.substring(1,3)); //"bc"
      console.log(str); //"abcdefghijklmnopqrstuvwxyz"    
      
    • slice(indexStart,indexEnd)
      • indexStart 起始字符的索引
      • indexEnd 截止字符的索引,截取的字符串不包括这个索引对应的字符
      var str = "abcdefghijklmnopqrstuvwxyz";
      console.log(str.slice(1,3)); //"bc"
      console.log(str); //"abcdefghijklmnopqrstuvwxyz"    
      
    1. 查找和替换
    • str.search(regexp) 查询符合规则的字符串是否在str字符串中
      • 参数regexp是正则表达式,如果传入一个非正则表达式对象,则会使用new RegExp(obj)隐式转换成正则表达式对象
      • 如果匹配成功则返回正则表达式在字符串中首次匹配项的索引,否则返回-1
    • str.replace(regexp|substr, newSubStr|function) 替换字符串中的一部分或者全部,不改变原字符串,返回一个新字符串
    • str.match(regexp) 按照规则查找,如果找到了,返回一个数组,如果没有匹配到,返回null
    var str = "hello my world";
    console.log(str.search('my')); //6
    console.log(str.replace('my', 'your')); //"hello your world"
    console.log(str.match('my')); //["my"]  
    
    1. 大小写转换
    • str.toUpperCase() 将字符串的小写字母转换为大写字母
    • str.toLowerCase() 将字符串的大写字母转换为小写字母
    var str = "abcdefghijklmnopqrstuvwxyz";
    console.log(str.toUpperCase()); //"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    console.log(str.toLowerCase()); //"abcdefghijklmnopqrstuvwxyz"  
    

    相关文章

      网友评论

          本文标题:JS字符串的操作方法

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