字符串

作者: 阿鲁提尔 | 来源:发表于2017-08-03 23:04 被阅读0次

    字符串

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

        'abc'
        "abc"
    

    单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。

        'key="value"'
        "It's a long journey"
    

    多行与转义

    如果要在单引号字符串的内部,使用单引号(或者在双引号字符串的内部,使用双引号),就必须在内部的单引号(或者双引号)前面加上反斜杠,用来转义。

        'Did she say \'Hello\'?'
        // "Did she say 'Hello'?"
    
        "Did she say \"Hello\"?"
        // "Did she say "Hello"?"
    

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

        'a
        b
        c'
        // SyntaxError: Unexpected token ILLEGAL
    

    上面代码将一个字符串分成三行,JavaScript就会报错。
    如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。

        var longString = "Long \
            long \
            long \
            string";
    
            longString
            // "Long long long string"
    

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

    连接运算符(+)可以连接多个单行字符串,用来模拟多行字符串。

        var longString = 'Long '
          + 'long '
          + 'long '
          + 'string';
    

    另外,有一种利用多行注释,生成多行字符串的变通方法。

        (function () { /*
            line 1
            line 2
            line 3
        */}).toString().split('\n').slice(1,-1).join('\n')
        // "line 1 line 2 line 3"
    

    反斜杠在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符
    如果字符串的正常内容之中,需要包含反斜杠,则反斜杠前需要再加一个反斜杠,用来对自身转义。

        "Prev \\ Next"
        // "Prev \ Next"
    

    常见的字符串方法

    长度计算,连接
        var str = "hello";
        console.log( str.length );
        console.log( str[0] );
        console.log( str[str.length - 1]  );
        console.log( str.charAt(0) );
        console.log( str.charCodeAt(0) );
    
        var str2 = " world";
        var str3 = str1 + str2;
        cosnole.log( str3 );
    
    字符串截取
        var str = "hello world";
        var sub1 = str.substr(1, 3);
        // 第一个是开始位置, 第二个是长度  ell
        var sub2 = str.substring(1, 3); 
        // 第一个是开始位置,第二个是结束位置,长度为第二个-第一个  el
        var sub3 = str.slice(1, 3); // 同上 允许负参
    
    查找
        var str = "hello my world";
        var s1 = str.search('my');   //6 找不到为-1
        var s2 = str.replace('my', 'your'); //
        var s3 = str.match('my'); //返回匹配的数组
    

    大小写

        var str = "Hello";
        str.toUpperCase();
        str.toLowerCase();
    

    相关文章

      网友评论

          本文标题:字符串

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