js中的字符串
1.字符串的概述
- 字符串也是一个数据类型(串),将同样的内容串在一块。
- 属于值类型(值类型是常量,常量是不能变的)。
- 是存储结构,有增删改查的方法(但字符串的增删改查不是针对其本身,而是返回一个新的字符串)
2.定义字符串
//值类型赋值
var str='hello'
//以new关键词声明(引用了对应的值地址)
var str=new String('abdcf')//引用的是空值的地址
//ES6新增
var a='lili'
var str=`hello world ${a}`
console.log(str);//hello world lili
new String和String区别
new String是构建一个String对象(引用数据类型)
String单纯将对应传入的参数转为String类型(值类型)
3.字符串属性
length属性返回字符串的长度(包含空格及换行)
只能读取,不能赋值
var str='a b'
console.log(str.length)//3
console.log(str[0])//a
4.字符串方法
1.charAt()
字符串.charAt(索引)
返回对应索引位置的字符
2.charCodeAt()
字符串.charCodeAt(索引)
返回对应字符的ASCII码
var str ='abfe'
str.charCodeAt(0)//返回的是97
3.indexOf()
字符串.indexOf(值,开始寻找位置)
位置如果不写就默认从字符串第一个开始往后面找,写了位置,就从那个位置开始往右边找
找不到就返回-1
var str='asdbbh'
console.log(str.indexOf('bh'));//4
console.log(str.indexOf('b'));//3 返回第一个b出现的位置
console.log(str.indexOf('c'));//-1 找不到,返回-1
console.log(str.indexOf('s',0));//1
4.lastIndexOf()
字符串.LastIndexOf(值,开始寻找位置)
位置如果不写就默认从字符串最后一个开始往前面找,写了位置,就从那个位置开始往左边找
var a='lili'
var str=`hello world ${a}`
console.log(str);//hello world lili
console.log(str.lastIndexOf('e'));//1 从后面开始找,第一个为e的值返回其位置
console.log(str.lastIndexOf('l',5));//3 从5的位置开始往左边找,第一个出现的是o前面那个l
5.search()
console.log(str.search(/bb/));//3 正则表达式,/ /g表示全局
6.fromCharCode 将对应的ascii码转为字符串
字符串.fromCharCode(ASCII码)
var str=String.fromCharCode(97)
console.log((str));//a
7.concat
字符串.concat(字符串)
var str1='hello'
var str2='world'
console.log(str1.concat(str2));//helloworld
8.toLowerCase()
字符串.toLowerCase
将字符串内的字母全部转换成小写
返回转换好的字符串
9.toUpperCase()
将字符串内的字母全部转成大写
10.replace()
字符串.replase(被替换内容,替换内容)
将字符串内第一个满足换下内容的片段替换成换上的内容(只能替换第一个满足条件的内容)
返回替换后的字符串
var str='H e l ** l o Wo r Ld !';
console.log(str.replace(/\*/g,""));//H e l l o Wo r Ld !
console.log(str.replace(/\s/g,''));//Hel**loWorLd!
11.trim()
字符串.trim()
去除字符串首尾的空格
返回去除空格后的字符串
12.split()
字符串.split(分隔符)
按照分隔符将字符串切割成为一个数组
返回切割后的数组
13.substr()
字符串.substr(开始索引,多少个)
截取字符串
返回截取出来的字符串
14.substring()
字符串.substring(开始索引,结束索引)
截取字符串
返回截取出来的字符串
console.log(str.substring(1));//sdbbh 不填结束的下标默认为截取到最后一个
console.log(str.substring(1,3));//sd 从1位置到3位置,3位置取不到
console.log(str.substr(1,3));//sdb 从1位置数3个
15.slice()
字符串.slice(开始索引,结束索引)
截取字符串
返回截取出来的字符串