快速掌握js字符串方法

Posted 蛙人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速掌握js字符串方法相关的知识,希望对你有一定的参考价值。

js字符串常用方法也是面试中经常遇到到问题。

话不多说,直接code一把梭


indexOf

indexOf该方法是字符串里最常用的,一般使用在判断情况下。

查找字符串首次出现的位置,如果找到返回该字符串的下标值,下标从0开始查找,找不到返回-1。

有很多小伙伴们,不知道indexOf第二个参数,默认可填,第二个参数理解就是从第几位开始查找, 如果找不到返回 -1

演示:

var str = \'hello 秦司令\';
console.log(str.indexOf(\'秦\')) // 6 
console.log(str.indexOf(\'a\')) // -1
console.log(str.indexOf(\'秦\', 7)) // -1

lastIndexOf

lastIndexOf跟indexOf方法一样,只不过它查找字符串最后出现的位置,同样,查找到返回下标位置,找不到为-1。

演示:

var str = \'hello 秦司令秦\';
console.log(str.lastIndexOf(\'秦\')) // 9
console.log(str.lastIndexOf(\'a\')) // -1 

可以看到上面代码中,str 字符串里面有两个 "秦" 而lastIndexOf该方法只查找最后出现的位置。

charAt

charAt该方法也跟indexOf差不多,只不过它是跟indexOf颠倒过来了。
charAt方法是查找下标,返回对应的内容,如果没有该下标,则返回空字符串。

演示:

var str = \'hello 秦司令秦\';
console.log(str.charAt(0)) // h
console.log(str.charAt(6)) // 秦 
console.log(str.charAt(19)) //空  

charCodeAt

charCodeAt是文字所存的Unicode编码,不经常使用。

演示:

var str = \'hello 秦司令秦\';
var n = \'鸟\'
console.log(str.charCodeAt()) //104
console.log(n.charCodeAt())  //40479

上面代码中,str的返回值就是它的字符串首字符串 h 在计算机内所存的编码,charCodeAt方法只查找首字符串,想要全部获取一下编码,遍历一下就行,
n的变量 "鸟" 返回值 40479 它也是在计算机内所存的编码。

String.fromCharCode

该方法跟上面的charCodeAt方法正好相反,这两方法搭配是一套,该方法是把所存的编码在转换为文字。

演示:

console.log(String.fromCharCode(104))  //h
console.log(String.fromCharCode(40479)) //鸟

substring

该方法也常用,而且还非常好使,一位参数是截取掉几位字符,二位参数是从哪个位置开始,到那个位置结束的前一位,不包括结束的位置,不会改变原字符串。

演示:

var str = \'hello 秦司令秦\';
console.log(str.substring(1))  // ello 秦司令秦
console.log(str.substring(1,2)) // e
console.log(str) // 原字符串不变

substr

substr跟substring差不多,但是该方法要比substring强大一些,它可以有负数,一位参数是截取掉几位字符,二位参数是从哪个位置开始,截取几位,不改变原字符串。

演示:
var str = \'hello 秦司令秦\';
console.log(str.substr(1))  // ello 秦司令秦
console.log(str.substr(1,2)) // el
console.log(str.substr(-4,4)) // 秦司令秦
console.log(str)  //不会改变原字符串

slice

该方法也是截取字符,它跟substring方法几乎一样,只不过该方法也可以写负数,其它的使用方式,都跟substring一样,该方法也不会改变原字符串。

演示:

var str = \'hello 秦司令秦\';
console.log(str.slice(1))  // ello 秦司令秦
console.log(str.slice(1,3)) // el
console.log(str.slice(-4,-2)) // 秦司令秦
console.log(str)  // 不会改变原字符串

split

该方法是字符串分割为数组,参数是以什么方式分割。同样不会改变原字符串。

演示:

var str = \'hello秦司令秦\';
var str1 = \'hello 秦司令\';
console.log(str.split(\'\'))  //["h", "e", "l", "l", "o", "秦", "司", "令", "秦"]
console.log(str1.split(\' \')) //["hello", "秦司令"]
console.log(str1,str) //未发生改变

上面代码中,str变量字符串是整齐的,所以参数内是默认的,然后以每个字符分割了,str1变量字符串中间有个空格,所以参数内是以空格分割了。

toLowerCase

将字符串转换为小写,不会改变原字符串。

演示:

var str1 = \'HELLO\';
console.log(str1.toLowerCase())  // hello

toUpperCase

将字符串转换为大写,不会改变原字符串。

演示:

var str = \'hello秦司令秦\';
console.log(str.toUpperCase())  //HELLO秦司令秦

replace

替换字符串,第一个值为被替换的值,第二个值为替换的值,不会改变原字符串。

演示:

var str = \'hello秦司令秦\';
console.log(str.replace(\'h\',\'秦\'))  //秦ello秦司令秦
console.log(str)  // 未发生改变

match

匹配字符串,查找到返回一个数组对象,数组对象里有 匹配的值 查找字符串的下标 和 原字符串内容,找不到返回null

演示:

var str = \'hello秦司令秦\';        
console.log(str.match(\'秦\'))  // ["秦", index: 5, input: "hello秦司令秦", groups: undefined]
console.log(str.match(\'1\'))     // null

search

该方法跟indexOf一模一样,查找字符串首次出现的位置,如果找到返回该字符串的下标值,下标从0开始查找,找不到返回-1。

演示:

var str = \'hello秦司令秦\';        
console.log(str.search(\'o\'))  //4
console.log(str.search(\'d\'))  //-1

repeat

该方法的参数是复制几遍字符串。不会改变原字符串。

演示:

var str = \'hello秦司令秦\';
console.log(str.repeat(3)) //hello秦司令秦hello秦司令秦hello秦司令秦

includes

该方法返回Boolean值,查找字符串里面有没有该值。第一位参数是 "值" , 第二位参数是下标。

演示:

var str = \'hello秦司令秦\';    
console.log(str.includes(\'秦\')) //true
console.log(str.includes(\'秦\',5)) //true
console.log(str.includes(\'啦\')) //false

startsWith

该方法返回Boolean值,查找字符串开头是不是该值。第一位参数是 "值" , 第二位参数是下标。

演示:

var str = \'hello秦司令秦\';    
console.log(str.startsWith(\'秦\')) //false
console.log(str.startsWith(\'秦\',5)) //true
console.log(str.startsWith(\'h\')) //true

endsWith

该方法返回Boolean值,查找字符串结尾是不是该值。第一位参数是 "值" , 第二位参数是下标,下标必须往后查找一位,如果要找的下标是5,就必须写6

演示:

var str = \'hello秦司令秦\';    
console.log(str.endsWith(\'秦\')) //true
console.log(str.endsWith(\'秦\',6)) //true
console.log(str.endsWith(\'h\')) //false

希望这篇文章能对你有所帮助,如有问题, 请各位大佬指出

以上是关于快速掌握js字符串方法的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

48个值得掌握的JavaScript代码片段(上)

imag.js|快速掌握全局方法

快速掌握正则表达式 | 01 掌握最基本的匹配

快速掌握正则表达式 | 01 掌握最基本的匹配

XSS:如何从 C# 中的字符串中删除 JS 片段?