学习JavaScript编程以后,有没有经常处理字符串,对字符串处理的方法有了解多少呢,来看一下有哪些,可知道它的用途有多大。
如果变量是一个String
字符串类型,就有用到它自带的一些方法,现在将用到的方法一一列举出来过目
1. 匹配方法
这是一个按照正则表达式匹配找出满足条件的方法,虽然复杂,但是用途很大,不会的那慢慢来,相信有一天自己就会学到
1. match()
按照正则表达式匹配,此方法传入的参数第一个是表达式,经常用到,代码如下:
//匹配一串数字
let m1 = "num=12345".match(/\d+/);
console.log({ m1 });
2. matchAll()
按照正则表达式匹配所有的,此方法传入的参数是一个表达式,注意此方法返回的是一个迭代器对象,代码如下:
//不能这样用,会抛出异常
//let m1 = "num=12345 number=67890".matchAll(/\d+/);
//可以这样用
let m1 = [...("num=12345 number=67890".matchAll(/\d+/g))];
//还可以这样用
let ms = "num=12345 number=67890".matchAll(/\d+/g);
let cursor;
do{
cursor = ms.next();
console.log(cursor.value);
}while(!cursor.done);
//处理方式与matchAll()类似
let m2 = "num=12345 number=67890".match(/\d+/g);
console.log({ m1, m2 });
2. 替换方法
可以将匹配到的字符串替换成另外的字符串
1. replace()
按照正则表达式匹配,找到一个就替换,此方法传入的参数是一个字符串,也可以是正则表达式,另一个是要替换的字符串,代码如下
let m1 = "hello world".replace("world","csdn");
console.log({ m1 });
2. replaceAll()
按照表达式匹配所有的,找到所有的都替换掉,此方法传入的参数是一个表达式,另一个是要替换的字符串
let m1 = "hello world! my world!".replaceAll("world","csdn");
console.log({ m1 });
3. toLowerCase()
把字符串中的大写英文字符都换成小写形式,类似的方法还有toLocaleLowerCase()
4. toUpperCase()
把字符串中的小写英文字符都换成大写形式,类似的方法还有toLocaleUpperCase()
let m1 = "hello world".toUpperCase();
console.log({ m1 });
3. 判断方法
1. startsWith()
从字符串开始处查找,是否存在参数中的字符串
2. endsWith()
从字符串末尾处查找,是否存在参数中的字符串
//判断文件名后缀
let filename = "readme.md";
let isFile = filename.endsWith(".md");
console.log(filename + (isFile ? "是文件" : "不是文件"));
3. includes()
从字符串中查找,是否存在参数中的字符串
//查找关键词
let text = "study...csdn...study...";
console.log((text.includes("csdn") ? "找到" : "未找到"));
4. 查找方法
从字符串中查找,返回所在位置
1. search()
从字符串开始处查找,返回找到参数中字符串的位置,未找到返回-1,参数可以表达式
2. indexOf()
同方法search()
一样,不过参数只能是字符串
3. lastIndexOf()
从字符串末尾处查找,返回找到参数中字符串的位置,未找到返回-1,不过参数只能是字符串
4. charAt()
返回参数指定在字符串位置中的一个字符,参数是一个数字,未找到返回空
5. charCodeAt()
返回字符串第一个字符所在的符号Unicode
编码中的位置。这个返回值是0-65535之间的数
5. 连接方法
1. concat()
将参数字符串加在字符串末尾处,也就是连接在字符串末尾处,代码如下
let str1 = "abc".concat("concat");
//类似的用法
let str2 = "abc"+"def";
console.log({ str1, str2 });
2. repeat()
重复整个字符串,将字符串复制,然后连接在字符串末尾处,参数是一个大于1的数字,表示重复次数
6. 填充方法
1. padStart()
从字符串开始处填充,第一个参数是数字,指定要填充到的最大长度,第二个参数是用来填充的字符串
2. padEnd()
从字符串末尾处填充,第一个参数是数字,指定要填充到的最大长度,第二个参数是用来填充的字符串
7. 截取方法
1. trim()
去掉字符串的开始处和末尾处的空格符
2. trimStart()
只去掉字符串的开始处的空格符,同样的方法还有trimLeft()
3. trimEnd()
只去掉字符串的末尾处的空格符,同样的方法还有trimRight()
4. slice()
截取字符串中的某一串字符,第一个参数是从哪个位置处开始截取,第二个参数是从哪个位置截取结束,默认不传就截取后面剩下的字符
5. substring()
从方法slice()
的用法类似
8. 分割方法
1. split()
传入参数的是一个用于分隔的字符串(也可以是表达式),从字符串中找到后分离,最后用一个数组返回
//整理成单词
let str1 = "if else switch for in do while";
let str2 = str1.split(/\s+/);
console.log({ str1, str2 });
整个字符串的处理方法就上面这些,好了,就讲这么多,条理清晰,明白大概,完毕收工,如有需要,记得收藏起来,方便下次找回哦。