由于包装类型要讲的内容很多,也是重点,所以我准备把每个对象的基础内容单独放文章,思维导图等之后整理了再放上来。
一.定义String:
创建原始类型字符串变量:
var gender = “男”;
创建引用类型字符串对象:
var emp = new String(“BAD444ff”);
转义字符
转义字符 | 含义说明 |
---|---|
\b | 退格符 |
\n | 换行符 |
\r | 回车符 |
\t | 水平制表符 |
\ | 反斜杠 |
二.字符串的使用
String对象的所有方法,返回的都是一个全新的对象,而不是修改原始字符串内容
(一)大小写转换方法
toLowerCase() 返回字符串的完全小写形式
toUpperCase() 返回字符串的完全大写形式
var msg= “Hello World”;
var lowerMsg = msg.toLowerCase(); //”hello world”
(二)获取指定位置的字符
charAt(index) 用于获取指定位置的字符
举个栗子:
var msg= “Hello你好”;
console.log(msg.charAt(5)); //”你”
charCodeAt(index) 用于获取指定位置的字符的Unicode码
(三)检索字符串
indexOf(value,[fromIndex]) 返回第一次出现指定子串的下标
lastIndexOf(value,[fromIndex]) 从后往前找,返回第一次出现指定子串的下标
举个栗子:
var email = “tom@126@163.com”;
console.log(email.indexOf(“@”)); //3
console.log(email.indexOf(“@”,5)); //7,从下标为5元素开始找
console.log(email.lastIndexOf(“@”,5)); //3
console.log(email.indexOf(“tim”)); //-1,表示未找到
(四)截取子字符串
slice(start,[end]) , substring(start,[end]):两者均可用,同数组的截取一致,见数组篇。
(五)分隔字符串
split(separator,[count]):指定分隔符对字符串进行拆分,count表示数组的元素个数
举个栗子:
var data = “||Tom||Tim||John”;
var arr1 = data.split(“||”); //0= ;1=Tom;2=Tim;3=John
var arr2 = data.split(“||”,3); //0= ; 1=Tom;2=Tim;
(六)连接字符串
concat(str1,str2…strn) 用于拼接两个或多个字符串,同数组。。
此外,还可以使用+做字符串拼接
修饰符
修饰符可以组合应用,如/is/ig
修饰符 | 描述 | 示例 |
---|---|---|
i (ignoreCase) | 执行对大小写不敏感的匹配 | /is/i |
g (global) | 执行全局匹配(查找匹配而不是在第一次匹配之后停止) | /is/g |
m (multiline) | 允许执行多行匹配 | /^is$/m |
(七)替换子字符串
replace(substr/regexp,replacement) 用一些字符替换特定的字符,或替换一个与正则表达式匹配的子串
注意:原始字符串内容不会发生变化
举个栗子:
var data =”you and Me,you dislike me,you like Me”;
console.log(data.replace(“me”,”him”)); //第一个me被替换为him
console.log(data.replace(/me/,”him”)); //第一个me被替换为him
console.log(data.replace(/me/i,”him”)); //第一个Me被替换为him
console.log(data.replace(/me/g,”him”)); //所有me被替换为him
console.log(data.replace(/me/ig,”him”)); //所有me和Me都被替换为him
(八)匹配
match(value/regexp) 在字符串内检索指定的值,或找到一个或多个与正则表达式匹配的子串
类似于indexof(),但返回指定的值,而不是字符串的位置
举个栗子:
var data =”you and Me,you dislike me,you like Me”;
console.log(data.match(“me”)); //”me”,index:23
console.log(data.match(/me/)); //”me”,index:23
console.log(data.match(/me/i)); //”Me”,index:8
console.log(data.match(/me/g)); //”me”
console.log(data.match(/me/ig)); //”Me”,”me”,”Me”
(九)查找
search(regexp) 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
返回第一个与regexp相匹配的子串的起始位置;如果没有找到任何匹配的子串,则返回-1
serch()方法不支持全局匹配,将忽略标志g
举个栗子:
var data =”you and Me,you dislike me,you like Me”;
console.log(data.search(“me”)); //23
console.log(data.search(/me/)); //23
console.log(data.search(/me/i)); //8