字符串

109 阅读1分钟

字符串所有方法都不会改变原字符串

charAt(索引index) 通过索引获取对应字符

语法:

	var str = 'jack';        
	//使用 charAt 找到字符串中的某一个内容        
	var index = str.charAt(2);        
	console.log(index);//c

索引值没有,返回空字符

charCodeAt(索引) 就是返回对应索引位置的 unicode 编码

语法:

	var str = 'jack';        
	//使用 charAt 找到字符串中的某一个内容        
	var index = str.charCodeAt(0);        
	console.log(index);//106

因为 j 在 unicode 对照表里面存储的是 106,所以就会返回 106

fromCharCode 根据unicode码获取对应字符

语法:

	console.log(String.fromCharCode(36000))

遍历获得给定范围内unicode码字符

	for (var i = 0; i < 10000; i++) {            
		console.log(String.fromCharCode(i));        
	}

indexOf 就是按照字符找到对应的索引

找索引,不是数组中查找是否存在 语法:

	var str = 'jack';        
	//使用 indexOf 找到对应的索引        
	var index = str.indexOf('j');        
	console.log(index);//0

因为字符 ‘j’在字符串 ‘jack’中的索引位置是 0 所以会返回 0

incloude 判断是否包含

	var str = "abcdef";        
	console.log(str.includes("bc"));//true        
	console.log(str.includes("bac"));//false

replace替换

⭐⭐⭐

	console.log(str.replace("tm","***"));//只能替换从左到右查找到的第一个                		
	console.log(str.split("tm").join("***"));//全局替换

在这里插入图片描述

repeat 重复字符串,返回新字符串

语法:str.repeat(count)

substring 是用来截取字符串使用的⭐

从index位置开始向后截取到end-1位置的字符串返回
索引为负数,转换为0
end小于start,end为开始下标,start为结束下标 语法:

	var str = 'hello';        
	//使用 substring 截取字符串        
	var newStr = str.substring(1,3);        
	console.log(newStr);//el

从索引 1 开始,到索引 3 截止,包含前面的索引不包含后面的索引 所以返回的是 el 索引为负数,转换为0 end小于start,end为开始下标,star为结束下标

       var str = "abcdefg";        
       console.log(str.substring())//abcdefg        
       console.log(str.substring(3))//defg                
       console.log(str.substring(3,5));//de                
       console.log(str.substring(-3,5));//abcde  num从索引值0开始往后数5个        
       console.log(str.substring(3,-6));//abc  index为正num为负值,只看index值        
       console.log(str.substring(5,1));//bcde num值从index=0开始取值

substr 从index位置开始向后截取所有字符返回

从哪个索引开始,截取多少个 语法:

	var str = 'hello';        
	//使用 substr 截取字符串        
	var newStr = str.substr(1,3);        
	console.log(newStr);//ell

这个方法和 substring 不一样的是,第二个参数是截取多少个

str.substr(index,num);//从index位置开始向后截取num个字符返回 

从索引 1 开始,截取 3 个,所以得到的是 ell 截取字符串所有

console.log(str.substr());//截取原字符串的所有

当index为负值

console.log(str.substr(-3,3));//index可以是负数

当num取值负值

console.log(str.substr(2,-3));//负数返回空

split 整个字符串作为一个数组元素返回 转数组⭐⭐⭐

str.split(""); 第一个字符都作为数组的元素返回
str.split("ch");⭐⭐⭐ 以ch对字符串进行拆分,如果在字符串中存在这个ch,根据ch拆分出来的字符串作为数组元素返回

	console.log(str.split());//['abcdefg']        
	console.log(str.split(""));//['a','b','c','d','e','f','g']

⭐⭐⭐

	var str = "ab ui ll h5";        
	console.log(str.split(" "));//['ab','ul','ll','h5']

slice 用来截取字符串使用的 如果不写第二个参数,表示截取到末尾

语法:str.slice(从哪个索引开始,到哪个索引为止), ==>包含开始索引,不包含结束索引 返回值:被截取的字符串

'This is my car'.slice(5) //is my car
'This is my car'.slice(5, 10) //is my

toLowerCase 和 toUpperCase这两个方法分别使用用来给字符串转成 小写字母 和 大写字母 的

语法:

 	var str = 'hello';        
 	// 使用 toUpperCase 转换成大写        
 	var newStr = str.toUpperCase();        
 	console.log(newStr);//HELLO
	var str = 'HELLO';        
	// 使用 toUpperCase 转换成小写        
	var newStr = str.toLowerCase();        
	console.log(newStr);//hello

trim 去掉字符串两边空格

	var str = "   abc  ";
	console.log("str:",str.trim(),str.trim().length);//str:abc 3

trimlefet 去掉字符串左边空格

	var str = "   abc  ";
	console.log(str.trimLeft(),str.trimLeft().length);//abc    5        		
	console.log(str.trimRight(),str.trimRight().length);//     abc 6

toLowerCase和toUpperCase 大小写

    var str = "Ab ui ll h5";
    console.log(str.toLocaleLowerCase());  //ab ui ll h5
    console.log(str.toLocaleUpperCase());  //AB UI LL H5