JavaScript/Strings

维基教科书,自由的教学读本

Javascript中的字符串是一种类数组,采用UTF-16编码的Unicode字符集。每个字符串在内存中都是一个16位值组成的序列。js对字符串的各项操作均是在对16位值进行操作,而非字符。

“\”后面的第一个字符不会被解析为字符,这就是js的转义字符:

  • \o NUL字符
  • \b 退格符
  • \t 水平制表符
  • \n 换行符
  • \v 垂直制表符
  • \f 换页符
  • \r 回车符
  • \“ 双引号
  • \' 撇号或单引号
  • \\ 反斜线
  • \xXX 由两位十六进制数xx指定的latin-1字符
  • \uXXXX 由四位十六进制数XXXX指定的Unicode字符

常用字符串方法示例:

var s="hellow,pomelott";
    console.log(s.charAt(0));  //h
    console.log(s.charAt(s.length-1));  //t
    //substring(开始,结束)
    // 1.从下标1开始(包括)到下标4结束(不包括)
    //2. substring()参数不支持负数
    console.log(s.substring(1,4));   //"ell"
    ///slice(起始,结束)
    //1. 若起始位数字为负数,则从倒数开始;
    //2.结束位数字可选,缺省表示从开始为到字符串末尾切割
    console.log(s.slice(1,4));   //"ell"
    console.log(s.slice(-3));    //"ott"
    //s.indexOf("x")   x首次出现的位置,不存在则返回-1
    console.log(s.indexOf("l"));  //2
    console.log(s.indexOf("z"));  //-1
    console.log(s.indexOf("o",6));  //o在位置6之后首次出现的位置,不存在返回-1
    //s.lastIndexOf("x")  x最后出现的位置,不存在则返回-1
    console.log(s.lastIndexOf("o"));  //12
    console.log(s.lastIndexOf("z"));  //-1
    console.log(s.split(","));   //根据“,”将字符串转换为数组
    console.log(s.replace("o","O"));  //hellOw,pomelott  将第一个“o”替换为“O”
    console.log(s.toUpperCase());  //全文转换为大写
    var str1="hellow,";
    var str2="world";
    console.log(str1.concat(str2));  //hellow,world  字符串连接
    //search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
    console.log(s.search(/pomelo/));  //7  存在则返回首字符下标,不存在则返回-1
    //match() 方法可在字符串内根据正则表达式检索,若存在则返回检索后的对象,否则返回null
    console.log(s.match(/pomelo/));  //["pomelo", index: 7, input: "hellow,pomelott"]
    console.log(typeof s.match(/pomelo/));  //object
    console.log(s.match("pop"));  //null