天天看点

04JavaScript基础——字符串、字符串常用方法

字符串的创建

属性:length表示字符串包含字符的数量,又叫字符串长度,得到的是一个number

1、字面量创建

var str1="hello world";
           

2、通过构造函数创建

var str2=new String("hello world");
           

字符串常用方法

1、charAt():需要一个number作为参数,能得到指定字符串中number下标位置上的字符

2、indexOf():可以判断指定字符串是否包含某个字符/字符串,如果存在返回下标,不存在返回-1

只会自左到右查找,一旦找回第一个立刻返回结果

var index1=str1.indexOf("o")
var index2=str1.indexOf("lo w")//起始位置的下标
           

 3、lastIndexOf() : 和indexOf一样只不过是从右向左找

4、substr():截取字符串,需要两个number作为参数

第一个参数表示开始的下标位置,第二个表示需要截取的长度,截取内容包含开始位置,如果第二个参数为负数,会自动转换为0,然后返回空串

5、substring():截取字符串需要两个number作为参数

第一个参数表示开始的下标位置,第二个表示需要截取的结束位置下标,截取内容包含开始位置内容,不包含结束位置内容

注:substring方法用于从原字符串取出子字符串并返回,不改变原字符串。它与slice作用相同,但不支持负数,因此不建议使用这个方法,优先使用slice。如果参数是负数,会将负数自动变成0;如果第一个参数大于第二个,会自动交换两个参数的位置

 6、replace():替换字符串,

第一个参数表示需要替换的内容,第二个表示用什么来替换,若果存在重复字符,只能替换由左向右的第一个,如果第二个参数为""即空字符时表示,删除第一个参数

7、split():字符串转换数组

需要一个字符/字符串,如果没填写参数或填写了字符串中不存在的字符/字符串,那么将整个字符串作为元素放入数组,

如果填写了字符串中存在的字符/字符串,会以该字符为基准点对字符串进行裁剪,将裁减得到的字符串作为元素逐个放入数组

如果输入"",则挨个分割作为元素逐个放入数组

8、slice();截取字符串

它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置);如果只有一个参数,从这个位置到末尾;如果参数是负数,从倒数位置计数;第一个参数大于第二个,返回空串

slice,substring,substr区别?

slice和substr可以支持负数

slice和substring的两个参数是起始和终止位置,而substr的第二个参数是长度

substring如果第一个参数大于第二个,会自动交换位置

9、search() ;

等同于match,但是返回值为匹配的第一个位置。如果没有找到匹配,则返回-1。

varstr='Farsight ivan teacher';
 console.log(str.search('ivan')); //精确查找第一次出现ivan字符串的位置
           

相比indexof ,search更强大,支持正则表达式进行规则过滤

//需求:统计大串中小串出现的次数
var l1 = "sadH5asdasH5asdasdH5";
 var l2 = "H5";
 var count = 0;
 var index = 0;
 while((index = l1.search(l2))!=-1) {
     count++;
     l1 = l1.slice(index+l2.length);
 }
 console.log(count);
           

10、match();

用于确定原字符串是否匹配某个子字符串,返回一个数组,成员为匹配的第一个字符串。如果没有找到匹配,则返回null。

var str2='ivan 20 yzg 20 lili 50';
alert(str2.match(20).index);
//返回数组还有index,分别表示匹配字符串开始的位置。
           

11、toUpperCase()/toLowerCase() ;英文字符的大/小写转换

把指定字符串中的字符逐个输出

var str="llijlkj werlkjwelkjr!"
// 1、遍历字符串输出
for(var i=0;i<str.length;i++){
	console.log(str.charAt(i))
}
// 2、转换为数组,输出数组元素
var newArr=str.split("");
for(var i=0;i<newArr.length;i++){
	console.log(newArr[i])
}
console.log(newArr)
           

11、trim():去掉字符串首尾空格

继续阅读