认识字符串
什么是字符串
字符串可以是引号中的任意文本。字符串可以由双引号(")或单引号(')表示 ,如 ‘hello’ , “中国”
创建字符串
1.字面量方式
2.new方式
字面量方式:
直接使用引号引用即可。单双引号都行。
var a = 'hello word';
var b = '大哥';
new方式:
var c = new string('中国');
condole.log(c)
字符串的基本操作
1.字符串的length属性
语法:str.length
功能:表示字符串的长度,字符的个数
说明:字符串的长度只能获取不能设置;但数组的长度既可以获取,也可以设置;
var a = 'hello';
console.log(a.length);//5
var b = 'h e l l o';//注意:每一个空格都是一个字符
console.log(b.length)//9
注意:字符串的长度只能获取不能设置,而数组的长度就可以获取和设置
2.访问字符串中的字符 (索引即下标)
语法:str[下标]
功能:获取字符串中指定下标的字符
参数:下标从0开始;最大下标为str.length-1
var b = 'h e l l o';
consle.log(b[0])//h
consle.log(b[2])//e
3.遍历字符串
var a = 'word';
for(var i = 0;i < a.length; i++){
console.log(a[i])//w o r d
}
注意:字符串一旦创建,任何的方法都不可以修改这个字符串;
字符串的方法
1.字符串的查找
1.charAt()
功能:查找字符串中指定位置的字符;
语法:str.charAt(index);
参数:index表示位置(下标)
返回值:对应位置的字符;
var a = '吕三斤';
console.log(a.charAt(2))//输入的是下标
console.log(a[2])//也可以通过下标的方式获取指定位置字符
2.// indexOf();
// 功能:查找目标值在字符串中的位置(从前往后找)
// 语法:str.indexOf(target,index);
// 参数:target:查找目标值 ,index:开始查找的位置
// 说明:index可以省略,如果省略默认从下标0开始找
// 返回值:找到返回下标,找不到返回-1
var str = 'i like javascript';
console.log(str.indexOf('k'));//4
console.log(str.indexOf('k',6));// -1 从下标6开始向后找k
console.log(str.indexOf('javascript'));//7 返回的是j的下标
3.lastIndexOf()
// 功能:查找目标值在字符串中的位置(从后往前找)
// 语法:str.lastIndexOf(target,index); //从index位置开始向前找target
// 参数:target:查找目标值 ,index:开始查找的位置
// 说明:index可以省略,如果省略默认从最后一个下标开始向前找
// 返回值:找到返回下标,找不到返回-1
var str = 'i like javascript';
console.log(str.lastIndexOf('k'));//4
console.log(str.lastIndexOf('k',6));//4 从下标6开始向前查找 'k'
console.log(str.lastIndexOf('jv'));//-1 找不到‘jv’
2.字符串的截取
2.1 slice()
功能:字符串的截取
语法:str.slice(start,end);
参数:start:开始截取的下标,end表示截取结束的下标(包含开始,不包含结束)
返回值:截取到的字符串;
说明:1)str.slice(start,end) //从start下标截取到end下标(不包含end)
2)str.slice(start); 从start下标开始一直截取到最后
3)str.slice();//全部截取
4)slice支持负值,负值可以从后往前数,找到对应的下标;
var str = 'i like javascript';
console.log(str.slice(2,6));//like //从下标2截取到下标6,不包括下标6
console.log(str.slice(2));//like javascript //从下标2,开始截取到最后
console.log(str.slice());//i like javascript //全部截取
console.log(str.slice(-5));//cript //从倒数第五个字符开始截取
2.2 substr()
语法:str.substr(start,count)
功能:从start下标开始,截取count个字符
参数:start:开始下标, count:截取的个数
返回值:截取到的字符串
说明:
1)str.substr(start,count); //从start下标开始,截count个字符
2)str.substr(start);//从start下标开始一直截取到最后
3)str.substr();//全部截取
var str = 'i like javascript';
console.log(str.substr(2,6));//like //从下标2截取6个字符
console.log(str.substr(2));//like javascript //从下标2开始截取到最后
console.log(str.substr());//i like javascript
2.3 substring
语法:str.substring(start,end);
功能:从start下标开始截取到end下位;(不包含end);
返回值:截取到是字符串
说明:
1)substring不支持负值,如果遇到负值或NaN直接转0
2)自动将小值作为开始下标,大值作为结束下边;
var str = 'i like javascript';
console.log(str.substring(2,6));//like //从下标2截取到6
console.log(str.substring(2));//like javascript
console.log(str.substring());//o like javascript
console.log(str.slice(-5,-1));//cript //slice支持负值
console.log(str.substring(-5,-1));//""(0,0)//负值变成0,(0,0)从0 到0 ,不包括结束
console.log(str.substring(-5));//(0) //i like javascript 负值变成0 ,从0开始截取到最后
console.log(str.slice(6,2));//"" //开始下标在结束下标之后,截取的是空字符串
console.log(str.substring(6,2));//(2,6)//like //小值开始下标,大值结束下标
3.字符串的合并 concat
语法:str1.concat(str2,str3,....);
功能:将多个字符串拼接一个新的字符串
返回值:返回一个新字符串
var a = 'w',b = 'e', c = 'd';
console.log(a.concat(b,c))//wed
4.字符串的替换 replace
语法:str.replace("被替换的字符","新替换字符");
功能:字符的替换
说明:只能替换第一个
var str = '我是一个中国人,我有一颗中国心';
console.log(str.replace('中国','china'))//我是一个china人,我有一颗中国心
// 注意:只替换第一个
5.字符串大小写转换
转大写 toUpperCase();
语法:str.toUpperCase();
功能:将小写字母转为大写
var str = 'word';
console.log(str.toUpperCase());//WORD
转小写 toLowerCase();
语法:str.toLowerCase();
功能:将大写字符转小写
var str = 'WORD';
console.log(str.toLocaleLowerCase());//word
6.字符串的去前后导空格
语法:str.trim();
功能:去掉字符串前面和后面的空格
注意:中间的空格不能去掉
var str = ' 我是 一个 水草 ';
console.log(str);
console.log(str.trim());//我是 一个 水草
7.字符串转数组
语法:str.split(分隔符);
功能:将字符串转为数组;
var str = 'hello word';
console.log(str.split(' '));//['hello', 'word']
console.log(str.split('o'));//['hell', ' w', 'rd']
var str1 = 'get-element-by-id';
console.log(str1.split('-'));//['get', 'element', 'by', 'id']
console.log(str1.split('&'));//'get-element-by-id']
var str2 = 'word';
console.log(str2.split(''));//['w', 'o', 'r', 'd']
小结
1.字符串的所有方法都不会修改原字符串
2.字符串和数组的公共方法:indexOf() lastIndexOf() slice() concat();
3.字符串转数组 split();
4.数组转字符串 join();