什么是字符串?
字符串:从字面意思理解,就是将若干文字或符号连接在一起的一串字符,称为字符串。从表现形式上看呢,就是写在引号中的数据,都称为是字符串,而且不区分单双引。



如何声明字符串?
1.字面量方式:‘’ “”
2.构造函数方式:new String()

//声明字符串
var str = 'hello';  //字面量声明方式
var o_str = new String('hello'); //构造函数声明方式
//在使用中没有区别,但是在检测数据类型的是一定的区别。
console.log(typeof str); //返回结果: 'string'
console.log(typeof o_str); //返回结果:'object' 


String的属性
length : 表示字符串的长度(即字符串中有多少个字符)

var str = '中华人民共和国';
console.log(str.length); // 7 表示有7个字符


字符串的方法(查、替、截、转)



indexOf('字符串',start)
1.'字符串' : 要查找的字符串
2.start : 指定从哪个下标开始查找

作用:返回指定字符串在父串中首次出现
的下标位置。
返回值:返回下标值
是否影响原字符串:否

//声明一个字符串
var str = 'how do you do?';
console.log(str.indexOf('do')); // 4  返回do第一次出现时的下标,这里只返回字符串中第一个字符的下标
console.log(str.indexOf('do',5)); //11 从5下标开始向后查找,do第一次出现的下标是11

lastIndexOf('字符串',start)

作用:返回一个字符串最后出现的位置。
返回值:返回下标值
是否影响原字符串:否

//声明一个字符串
var str = 'how do you do?';
console.log(str.lastIndexOf('do')); // 11  返回do最后一次出现时的下标,这里只返回字符串中第一个字符的下标
console.log(str.lastIndexOf('do',5)); //4 查找截止到5下标,do最后一次出现的下标是4

charAt(index) : index-下标

作用:根据下标获取指定的字符
返回值:返回字符
是否影响原字符串:否

//声明一个字符串
var str = 'how do you do?';
console.log(str.charAt(4)); // 'd'  返回4下标对应的字符d
//遍历字符串
for(var i = 0,len = str.length;i < len;i ++){
    console.log(str.charAt(i)); //从字符串中遍历出每一个字符,进行处理
}

charCodeAt(index) :index-下标

作用:根据下标查找指定字符的编码值。
返回值:返回字符编码
是否影响原字符串:否

//声明一个字符串
var str = 'how do you do?';
console.log(str.charCodeAt(4)); // 100  返回4下标对应的字符d的编码值

replace(旧串,新串)

旧串: 被替换的字符串
新串: 要替换成的字符串
作用:在父串中将指定的字符串替换成新的字符串(注:一次只能替换一个字符串)。
返回值:返回替换后的新字符串
是否影响原字符串:否

//声明一个字符串
var str = 'how do you do?';
console.log(str.replace('do','de')); // 'how de you do' 将第一个do替换成了de


substring(start,end)

start : 从哪个下标位置开始
end : 到哪个下标位置结束(不包含结束位置)
作用:截取字符串中指定范围的子串。
返回值:被截取到的字符串
是否影响原字符串:否

substr(start,length)

start : 从哪个下标位置开始
length : 截取指定的长度
作用:截取指定长度的子串
返回值:被截取到的字符串
是否影响原字符串:否

slice(start,end)

start : 从哪个下标位置开始
end : 到哪个下标位置结束(不包含结束位置)
作用:截取字符串中指定范围的子串。
返回值:被截取到的字符串
是否影响原字符串:否

//声明一个字符串
var str = 'how do you do?';
console.log(str.substring(4)); // 'do you do?' 从下标4开始截取到字符串末尾
console.log(str.substr(4)); // 'do you do?' 从下标4开始截取到字符串末尾
console.log(str.slice(4)); // 'do you do?' 从下标4开始截取到字符串末尾

console.log(str.substring(4,6)); // 'do' 从下标4开始截取到下标6(不包含下标6位置的字符)
console.log(str.substr(4,6)); // 'do you' 从下标4开始截取6个字符
console.log(str.slice(4,6)); // 'do' 从下标4开始截取到下标6(不包含下标6位置的字符)

console.log(str.substring(6,4)); // 'do' 从下标4开始截取到下标6(不包含下标6位置的字符)(substring总是从小的下标开始截取到大的下标,在方法中做了参数的交换)
console.log(str.substr(4,6)); // 'do you' 从下标4开始截取6个字符
console.log(str.slice(6,4)); // '' 从6下标开始截取到4下标,但是后面没有4下标,所以截取到空字符串。
    
console.log(str.substring(-6,-4)); // '' 从下标-6开始截取到下标-4(substring的参数不支持负数,所以截取到空字符串)
console.log(str.substr(4,6)); // 'do you' 从下标4开始截取6个字符
console.log(str.slice(-6,-4)); // 'ou' 从-6下标开始截取到-4下标,最后一个字符为-1,依次向前-2,-3,…… ,所以-6对应的是o,截取现-4对应的是空格,不包含-4下标的字符,所以截取到'ou'

toUpperCase()

作用:将字符串中的小写字母全部转为大写字母。
返回值:返回转换后的字符串
是否影响原字符串:否

var str = 'How Are You';
console.log(str.toUpperCase()); //'HOW ARE YOU' 转为大写字母

toLowerCase()

作用:将字符串中的大写字母全部转为小写字母。
返回值:返回转换后的字符串
是否影响原字符串:否

var str = 'How Are You';
console.log(str.toLowerCase()); //'how are you' 转为小写字母

split('切割符',length)

作用:将数组切割为数组。
返回值:返回转换后的数组
是否影响原字符串:否

var str = 'how are you';
console.log(str.split(' ')); //['how','are','you'] 以空格作为切割符,切成三个字符串,分别放到数组中。
console.log(str.split(' ',2)); //['how','are'] 以空格作为切割符,切成三个字符串,第二个参数表示将前面2个字符串,分别放到数组中。

-- End --

最后修改:2022 年 05 月 23 日 08 : 54 AM
如果觉得我的文章对你有用,请随意赞赏