上一篇:字符串方法及使用
所有用单引号(' '), 双引号(" "), 反引号(``),抱起来的都是字符串
charAt / charCodeAt
// charAt:根据索引获取指定位置的字符
// charCodeAt:获取指定字符的ASII值
// return : 返回查找字符串,找不到返回空字符串
var str='shangxiaoxin'
console.log(str.charAt(0))//s
console.log(str.charAt(20))//" "
console.log(str.charCodeAt(0))//115
substr / substring / slice
/*
substr(n,m) :从索引n开始截m个
substring(n,m): 从索引n,开始截取到索引m (不包括m),不写m截完
slice(n,m):同substing一样,但slice支持负数
*/
console.log(str.substr(0,3))//sha
console.log(str)
console.log(str.substring(0,3))//sha
console.log(str)
console.log(str.slice(0,-3))//shangxiao
indexOf / lastIndexOf / includes
/*
indexof(x,y):获取x第一次出现的索引位置,y是控制查找起始位置的索引(从索引y开始查找)
lastIndexOf(x): 获取最后一次出现位置的索引,
includes(x):查找字符串是否存在x,return: true/false
如果x不存在,return: -1
*/
console.log(str.indexOf('x'))//5
console.log(str.indexOf('x',3))//5
console.log(str.indexOf('x',6))//9
console.log(str.lastIndexOf('x'))//9
console.log(str.indexOf('m'))//-1
console.log(str.includes('m'))//false
console.log(str.includes('x'))//true
toUpperCase / toLowerCase
/*
toUperCase:转成大写
toLowercase:转成小写
*/
console.log(str.toUpperCase())//SHANGXIAOXIN
str=str.toLowerCase()
console.log(str.toLocaleLowerCase())//shangxiaoxin
//将字符串中某些字符转换
var changeStr=str.substr(0,1).toUpperCase()+str.substring(1,str.indexOf('x'))+str.substr(str.indexOf('x'),1).toUpperCase()+str.substring(str.indexOf('x')+1,str.lastIndexOf('x'))+str.substr(str.lastIndexOf('x'),1).toUpperCase()+str.slice(str.lastIndexOf('x')+1)//将字符串中某些字符转换
console.log(changeStr)//ShangXiaoXin
split
/*
split([分隔符]):把字符串按照指定的字符串中的某字符拆作为分隔符分成数组,与数组方法join对应
split支持传递正则表达式
*/
var str='shang|xiao|lin';
console.log(str.split('|'))//["shang", "xiao", "lin"]
let ary=[1,2,3,4,5]
console.log(ary.join(','))//1,2,3,4,5
replace
/*
replace(newStr,oldStr):实现新、老字符的替换。(总是伴随正则使用)
在使用正则的情况下没执行一次replace只能替换一一个字符
*/
var str='晓林@杨帆@启航'
console.log(str.replace('@','-'))//晓林-杨帆@启航
console.log(str.replace('@','-').replace('@','-'))//晓林-杨帆-启航
//配合正则
console.log(str.replace(/@/g,"->"))//晓林->杨帆->启航
网友评论