创建字符串及常用方法

247 阅读5分钟

创建字符串

1.字面量形式

var str = 'abc'
复制代码

2.内置构造函数的形式(S为大写)

var str = new String()
复制代码

1.创造一个空字符串

var str = new String()
复制代码

2.创造一个有内容的字符串

var str1 = new String('abc')
复制代码

字符串的length与下标

1.字符串的length

字符串中的length与数组的含义相同

length(长度)

var str = 'abc'
console.log(str.length)//打印值为3
复制代码

2.索引与下标

作用:获取到字符串中指定位置的值

注意:字符串中通过索引能够获取到指定位置的值,只不过获取到的值是只读的(只能看无法修改)

var str = 'abc'
console.log(str[1])//打印值为b
str[1] = 's'//因为字符串通过索引是只读的,所以这行代码没有意义.
复制代码

字符串的常用方法

1.charAt

语法:字符串名.charAt(索引)

作用:查询指定下标的值

返回值:查询到的值,如果没有查询到就是一个空字符串

 var str = 'abcd'
console.log(str.charAt(1))//打印值为b
console.log(str.charAt(5))//空字符串
复制代码

2.charCodeAt

语法:字符串.charCodeAt(索引)

作用:查询指定下标的值,对应的十进制码

返回值:查询到返回十进制码,没查询到返回NaN

var str = 'abcd'
console.log(str.charCodeAt(0))//打印值为97(a的十进制码为97)
console.log(str.charCodeAt(6))//打印值为NaN
复制代码

3.toLowerCase

语法:字符串.toLowerCase()

作用:将字符串转化为小写

返回值:转换后的字符串

var str = 'abcABC'
console.log(str.toLowerCose())//打印值为'abcabc'
复制代码

4.toUpperCose

语法:字符串.toUpperCose()

作用:将字符串转换为大写

返回值:转换后的字符串

var str = 'abcABC'
console.log(str.toUpperCose())//打印值为'ABCABC'
复制代码

5.substr

语法:字符串.substr(开始索引,多少个)

作用:截取指定的字符串

返回值:截取到的字符串

注意:mdn说明这个方法将来的某一天会被删除,所以建议使用substring

var str = 'dskancojladdcv'
console.log(str.substr(2, 4))//打印值为kanc
复制代码

6.substring

语法:字符串.substring(开始索引,结束索引)

作用:截取指定字符串

返回值:截取的字符串

var str = ' abcdefgh'
console.log(str.substring(2,5))//打印值为cde
console.log(str.substring(2))//打印值为cdefgh
复制代码

注意:1.参数包前不包后

2.结束索引不写相当于写了length

7.slice

语法:字符串.slice(开始索引,结束索引)

作用:截取指定字符串

返回值:截取到的字符串

var str = ' abcdefgh'
console.log(str.slice(0,3))//打印值为abc
console.log(str.slice(2))//打印值为cdefgh
console.log(str.slice())//打印值为abcdefgh
console.log(str.slice(0,-3))//打印值为abcde
复制代码

注意:1.参数包前不包后

2.结束索引不写相当于写了length

3.开始索引不写相当于写了0

4.结束索引可以用负数表示倒数第几个

8.concat

语法:字符串.concat(数据1, 数据2,...)

作用:将字符串和传递的数据进行拼接

返回值:拼接后的字符串

var str = 'qwer'
var str1 = str.concat('@', '+', '!')
console.log(str1)//打印值为'qwer@+!'
复制代码

9.indexOf

语法:字符串.indexOf(数据,开始下标)

作用:寻找数据所在的下标(方向:从左向右)

返回值:找到了返回下标,没找的返回-1

var str = 'qwer'
console.log(str.indexOf(e,0))//打印值为2
console.log(str.indexOf(q,1))//打印值为-1
复制代码

注意:开始下标不写默认为0

10.lastIndexOf

语法:字符串.lastIndexOf(数据,开始索引)

作用:寻找数据所在的下标(方向:从右向左 ) 返回值:找到了返回下标,没找的返回-1

var str = 'qwer'
console.log(str.indexOf(e,1))//打印值为-1
console.log(str.indexOf(q,1))//打印值为0
复制代码

注意:开始索引不写默认为length-1

11.split

语法:字符串.split('符号')

作用:在字符串中找到'符号'然后将这个字符串分割,并放在一个数组内

返回值:一个数组(如果这个符号没有则返回原本的内容)

注意:参数如果传递的是空字符串('')会将字符串全部分隔开

var str = 'qwer, abcd, 1234, zxcv'
var str1 = str.split(',')
console.log(str1) //打印值为['qwer', ' abcd',' 1234',' zxcv']
var str2 = str.split('1')
console.log(str2) //打印值为['qwer, abcd, ' '234, zxcv']
var str3 = str.split(' ') //括号内为空格
console.log(str3)//打印值为['quer,','abcd,','1234,','zxcv']
var str4 = str.split('')//(空字符串)
console.log(str4) //打印值为['q','w','e','r',',',' ',.....](全部分隔开)
var str5 = str.split('!')
console.log(str5) //打印值为['qwer, abcd, 1234, zxcv']
复制代码

12.trim

语法:字符串.trim()

作用:去掉字符串两侧的空格

返回值:去掉空格后的字符串

var str = ' a b c '
console.log(str)//打印值:' a b c '
console.log(str.trim())//打印值为:'a b c'
复制代码

13.trimStart/trimLeft

语法:字符串.trimStart()/字符串.trimLeft()

作用:去除字符串开始(左侧)的空格

返回值:去除空格的字符串

var str = ' a b c '
console.log(str)//打印值:' a b c '
console.log(str.trimStart())//打印值为:'a b c '
console.log(str.trimLeft())//打印值为:'a b c '
复制代码

14.trimEnd/trimRight

语法:字符串.trimEnd()/字符串.trimRight()

作用:去除字符串结束(右侧)的空格

返回值:去除空格的字符串

var str = ' a b c '
console.log(str)//打印值:' a b c '
console.log(str.trimEnd())//打印值为:' a b c'
console.log(str.trimRight())//打印值为:' a b c'
复制代码

15.includes

语法:字符串.includes(字符串片段)

作用:判断当前字符串中,是否有拥有指定字符串片段

返回值:有返回true,没有返回false

var str = 'abcclw'
var str1 = str.includes('clw')
console.log(str1)//打印值为true
var str2 = str.includes('qwe') 
console.log(str2)//打印值为false
复制代码

16.startWith

语法:字符串.startWith(字符串片段)

作用:判断字符串开头是否为指定字符串片段

返回值:是返回true,不是返回false

var str = 'abcclw'
var str1 = str.starWith('abc')
console.log(str1)//打印值为true
var str2 = str.starWith('qwe') 
console.log(str2)//打印值为false
复制代码

17.endsWith

语法:字符串.endsWith(字符串片段)

作用:判断字符串结尾是否为指定字符串片段

返回值:是返回true,不是返回false

var str = 'abcclw'
var str1 = str.endsWith('clw')
console.log(str1)//打印值为true
var str2 = str.endsWith('qwe') 
console.log(str2)//打印值为false
复制代码

18.replace

语法:字符串.replace('要被替换的字符','替换字符')

作用:找到当前字符串中第一个参数对应的值,然后将其替换为第二个参数(只会替换字符串中找到的第一个)

返回值:替换完成的字符串(如果没要找到被替换字符则返回原本的字符串)

var str = 'abcdefgh'
var str1 = str.replace('abc','cba123')
console.log(str1)//打印值为cba123defgh