原创声明
本文系作者辛苦码字所得,欢迎分享和转载,但请在明显位置注明作者的如下信息:
笔名:来碗鸡蛋面
主页:https://www.jianshu.com/u/4876275b5a73
邮箱:[email protected]
CSDN ID:tom_wong666
需求:
js字符串(String)方法汇总
索引:
1,str.concat()
2,str.endsWith()
3,str.includes()
4,str.indexOf()
5,str.lastIndexOf()
6,str.replace()
7,str.slice()
8,str.split()
9,str.toLowerCase()
10,str.toUpperCase()
11,str.match()
12,str.trim()
13,str.search()
14,str.charCodeAt()
15,String.fromCharCode()
正文
1,str.concat()
(1)作用:将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回;
(2)语法:str.concat(str1,str2,str3...);
(3)语法解释:str,str1,str2,str3指代字符串;和+ +=操作符作用一样,建议优先使用+ +=;
(4)返回值:返回拼接后的字符串;
(5)示例代码:
const str='hello';
const res=str.concat(' world','!');
console.log(res);// hellow world!
2,str.endsWith()
(1)作用:判断当前字符串是否是以另外一个给定的子字符串“结尾”的;
(2)语法:str.endsWith(searchStr);
(3)语法解释:str被检索的原字符串,searchStr用来搜索的字符串;该方法大小写敏感;
(4)返回值:返回布尔值;
(5)示例代码:
const str='hello world!';
const res=str.endsWith('world!');
console.log(res);// true
const res1=str.endsWith('WORLD!');
console.log(res1);// false
3,str.includes()
(1)作用:判断一个字符串是否包含在另一个字符串中;
(2)语法:str.includes(searchStr);
(3)语法解释:str被检索的原字符串,searchStr用来搜索的字符串;该方法大小写敏感;
(4)返回值:返回布尔值;
(5)示例代码
const str='hello world!';
const res=str.includes('hello');
console.log(res);// true
const res1=str.includes('HELLO');
console.log(res1); // false
4,str.indexOf()
(1)作用:返回调用 String 对象中第一次出现的指定值的索引值;
(2)语法:str.indexOf(searchStr,fromIndex);
(3)语法解释:str被检索的原字符串,searchStr用来搜索的字符串;该方法大小写敏感;fromIndex为可选值,用来指定搜索起始位置;该方法从前往后找;
(4)返回值:返回索引值,如果找不到返回-1;
(5)示例代码:
const str="hello world!";
const res=str.indexOf('e');
console.log(res);// 1
const res1=str.indexOf('k');
console.log(res1);// -1
const res2=str.indexOf('o');
console.log(res2);// 4
const res2=str.indexOf('o',5);
console.log(res2);// 7
5,str.lastIndexOf()
(1)作用:方法返回指定值在调用该方法的字符串中最后出现的位置,如果没找到则返回 -1。从该字符串的后面向前查找,从 fromIndex 处开始;
(2)语法:str.lastIndexOf(searchStr,fromIndex);
(3)语法解释:str被检索的原字符串,searchStr用来搜索的字符串;该方法大小写敏感;fromIndex为可选值,用来指定搜索起始位置;该方法从后往前找;
(4)返回值:返回索引值,找不到返回-1;
(5)示例代码:
const str='hello world!';
const res=str.lastIndexOf('l');
console.log(res);// 9
const res1=str.lastIndexOf('l',8);
console.log(res1);// 3
6,str.replace()
(1)作用:返回一个由替换值替换一些或所有匹配的模式(pattern)后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的函数;
(2)语法:str.replace(regexp|substr, newSubStr|function);
(3)语法解释: regexp 一个RegExp 对象或者其字面量,该正则所匹配的内容会被第二个参数的返回值替换掉;substr 一个将被 newSubStr 替换的 字符串,其被视为一整个字符串,而不是一个正则表达式,仅第一个匹配项会被替换;newSubStr 用于替换掉第一个参数在原字符串中的匹配部分的字符串,该字符串中可以内插一些特殊的变量名;function 一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果;
(4)返回值:替换后的新字符串;
(5)示例代码:
// 普通匹配
const str='Hi World';
const res=str.replace('Hi','Hello');
console.log(res);// "Hello World"
// 正则匹配
const str='Hi World';
const res=str.replace(/hi/i,'Hello');
console.log(res);// "Hello World"
// 替换值用函数匹配
const str='Hello World';
const res=str.replace(/Hello World/i,function(item,){
return item.toUpperCase();
});
console.log(res);// HELLO WORLD
7,str.slice()
(1)作用:提取一个字符串的一部分,并返回一新的字符串;
(2)语法:str.slice(beginSlice[, endSlice]);
(3)语法解释:beginSlice截取起始位置(例如-2),如果为负值则起始计算方式为(str.length-2),其实负数的手工计算方法是从字符串末尾右下角作为0开始逆向计数的,下表顺序大概是这个意思:...... -3 -2 -1 0;endSlice结束位置,如果省略则截取到文字末尾,如果为负数计算方式同beginSlice;此方法不影响原字符串;
(4)返回值:返回截取到值组成的新字符串;
(5)示例代码:
const str ='I love Tom and Jery';
const res=str.slice(2,5);
console.log(res);// 'lov'
console.log(str);// 'I love Tom and Jery'
const res2=str.slice(-6,-2);
console.log(res2);// 'd Je'
8,str.split()
(1)作用:使用指定的分隔符字符串将一个String对象分割成字符串数组;
(2)语法:str.split([separator[, limit]]);
(3)语法解释:separator 指定表示每个拆分应发生的点的字符串;separator 可以是一个字符串或正则表达式,如果纯文本分隔符包含多个字符,则必须找到整个字符串来表示分割点,如果在str中省略或不出现分隔符,则返回的数组包含一个由整个字符串组成的元素,如果分隔符为空字符串,则将str原字符串中每个字符的数组形式返回;limit(可选) 一个整数,限定返回的分割片段数量,当提供此参数时,split 方法会在指定分隔符的每次出现时分割该字符串,但在限制条目已放入数组时停止,如果在达到指定限制之前达到字符串的末尾,它可能仍然包含少于限制的条目,新数组中不返回剩下的文本;
(4)返回值:返回源字符串以分隔符出现位置分隔而成的一个 Array;
(5)示例代码:
// 普通示例
const str='This/is/tom/here/,/who/are/you/?';
const res=str.split('/');
console.log(res);// ["This", "is", "tom", "here", ",", "who", "are", "you", "?"]
// 限定数组长度的示例
const res2=str.split('/',2);
console.log(res2);// ["This", "is"]
// 正则示例
// 返回去除空格和分号的明细
const nameGroup="Tom wong ;Jer Lee ;Jack Zhou ;Hello World ;";
const reg=/\s*(?:;|$)\s*/;
const nameUnit=nameGroup.split(reg);
console.log(nameUnit);// ["Tom wong", "Jer Lee", "Jack Zhou", "Hello World", ""]
9,str.toLowerCase()
(1)作用:会将调用该方法的字符串值转为小写形式,并返回;
(2)语法:str.toLowerCase();
(3)语法解释:str表示某个字符串实例;
(4)返回值:返回调用原字符串转换成的小写字符串,不影响原字符串;
(5)示例代码:
const str="Hello World";
const res=str.toLowerCase();// "hello world"
10,str.toUpperCase()
(1)作用:会将调用该方法的字符串值转为大写形式,并返回;
(2)语法:str.toUpperCase();
(3)语法解释:str表示某个字符串实例;
(4)返回值:返回调用原字符串转换成的大写字符串,不影响原字符串;
(5)示例代码:
const str="Hello World";
const res=str.toUpperCase();// "HELLO WORLD"
11,str.match()
(1)作用:检索返回一个字符串匹配正则表达式的的结果;
(2)语法:str.match(regexp);
(3)语法解释:regexp 一个正则表达式对象;如果匹配g标志,则将返回与完整正则表达式匹配的所有结果(Array),但不会返回捕获组;如果未使用g标志,则仅返回第一个完整匹配及其相关的捕获组(Array), 在这种情况下,返回的项目将具有如下所述的三个属性:
A,groups: 一个捕获组数组 或 undefined(如果没有定义命名捕获组),
B,index: 匹配的结果的开始位置,
C,input: 搜索的字符串;
(4)返回值:返回正则匹配的项目组成的数组;
(5)示例代码:
const str="Hello,World";
// 传入正则带g
const reg=/[A-E]/gi;
const resArray=str.match(reg);
console.log(resArray);// ["e", "d"]
// 传入正则不带g
const reg2=/[A-E]/i;
const resArray2=str.match(reg2);
console.log(resArray2);
// 返回值
// ["e", index: 1, input: "Hello,World", groups: undefined]
// 0: "e"
// groups: undefined
// index: 1
// input: "Hello,World"
// length: 1
// 传入字符串
const regStr='H';
const res=str.match(regStr);
console.log(res);
// 返回值
// ["H", index: 0, input: "Hello,World", groups: undefined]
// 0: "H"
// groups: undefined
// index: 0
// input: "Hello,World"
12,str.trim()
(1)作用:从一个字符串的两端删除空白字符;
(2)语法:str.trim();
(3)语法解释:空白符指的是上下文中的所有空白符,包括space, tab, no-break space;
(4)返回值:返回格式化之后的新字符串;
(5)示例代码:
const str = ' hello world ';
const res=str.trim();
console.log(res);// "hello world"
13,str.search()
(1)作用:使用某个正则搜索str;
(2)语法:str.search(re);
(3)语法解释:re指代某个正则表达式;
(4)返回值:返回正则表达式在字符串中首次匹配项的索引,否则返回-1;
(5)示例代码:
const str="Hello,World";
const reg=/[A-E]/i;
const res = str.search(reg);
console.log(res);// 1
const res2 = str.search('l');
console.log(res2);// 2
14,str.charCodeAt()
(1)作用:返回字符串指定位置字符的Unicode码;
(2)语法:str.charCodeAt(index);
(3)语法解释:str指某个字符串实例,index指代字符串的下标,不写时默认为0;
(4)返回值:返回Unicode码;
(5)示例代码:
const str='world';
const res=str.charCodeAt();
console.log(res);// 119
const res2=str.charCodeAt(0);
console.log(res2);// 119
const res3=str.charCodeAt(1);
console.log(res3);// 111
15,String.fromCharCode()
(1)作用:使用Unicode码返回字符串;
(2)语法:String.fromCharCode(num1, ..., numN) ;
(3)语法解释:num1, ..., numN指代某些Unicode码;
(4)返回值:返回Unicode码对应的字符串;
(5)示例代码:
'ABC'.charCodeAt(0);// 65
'ABC'.charCodeAt(1);// 66
'ABC'.charCodeAt(2);// 67
String.fromCharCode(65,66,67);// "ABC"
const arr=[65,66,67];
const res2=String.fromCharCode(...arr);// "ABC"