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