跳至內容

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