常用方法方法记忆:
获取指定下标的值:charAt(i)
获取指定下标的值的unicode编码:charCodeAt(i)
判断是否含有指定子串:includes
判断是否以指定子串开头:startsWith
判断是否以指定子串结尾:endsWith
匹配指定的子串在字符串中的第一个下标:indexOf
匹配指定的子串在字符串中的最后一个下标:lastIndexOf
前闭后开截取字符串:slice()
前闭后闭截取字符串:strsub()
前闭后开截取两个指定位置之间的子串:substring()
字符串分割成数组:split()
字符串替换:replace()
大写转换:toUpperCase()
小写转换:toLowerCase()
字符串转整型数字:str.parseInt()
字符串转浮点型数字:str.parseFloat()
字符串处理空白字符:trim,trimStart,trimEnd
1.获取指定下标的值
str.charAt(i)
const str = 'hello'; str.charAt(1) // 输出结果:e str[1] //也行,输出结果:e; str.charAt(1) 兼容性更好
str.charCodeAt(i):根据下标获取字符的unicode编码
let str = "abcdefg"; console.log(str.charCodeAt(1)); // "b" --> 98
2.判断是否含有会指定子串或者字符的下标(对大小写敏感)
str.includes(‘’子串‘’[,start]):判断是否含有指定子串,有返回true,没有返回false,[第2个参数是开始判断的下标]
let str = 'Hello world!'; str.includes('o') // 输出结果:true str.includes('z') // 输出结果:false str.includes('e', 2) // 输出结果:false
str.startsWith(‘’子串‘’[,start]):判断是否以某个子串开头, [第2个参数是开头的下标]
str.endsWith(‘’子串‘’[,start]):判断是否以某个子串开头, [第2个参数是开始判断的下标]
str.indexOf(‘子串’[,start]):返回第一个匹配到子串的下标,找不到返回-1,[第2个参数是开始判断的下标]
let str = "abcdefgabc"; console.log(str.indexOf("cde")); // 输出结果:2 console.log(str.indexOf("z")); // 输出结果:-1 console.log(str.indexOf("c", 4)) // 输出结果:9
str.lastIndexOf(‘子串’[,start]):返回字符串最后一个匹配到子串的下标,找不到返回-1,[第2个参数是开始判断的下标],逆序查找
let str = "abcdefgabc"; console.log(str.lastIndexOf("cde")); // 输出结果:2 console.log(str.lastIndexOf("z")); // 输出结果:-1 console.log(str.lastIndexOf("c", 4)) // 输出结果:2
1.截取指定区间(前闭后开)的子串,返回截取的字符串
str.slice(start,end)
let str = "abcdefg"; str.slice(1,6); // 输出结果:"bcdef" str.slice(1); // 输出结果:"bcdefg" str.slice(); // 输出结果:"abcdefg" str.slice(-2); // 输出结果:"fg" str.slice(6, 1); // 输出结果:""
2.截取指定区间(前闭后闭)的子串,返回截取的字符串
str.substr(start,end)
let str = "abcdefg"; str.substr(1,6); // 输出结果:"bcdefg" str.substr(1); // 输出结果:"bcdefg" 相当于截取[1,str.length-1] str.substr(); // 输出结果:"abcdefg" 相当于截取[0,str.length-1] str.substr(-1); // 输出结果:"g"
3.截取指定两个下标位置之间(前闭后闭)的子串,返回截取的字符串
str.substring(start,end)
let str = "abcdefg"; str.substring(1,6); // 输出结果:"bcdef" [1,6) str.substring(1); // 输出结果:"bcdefg" [1,str.length-1] str.substring(); // 输出结果:"abcdefg" [0,str.length-1] str.substring(6,1); // 输出结果 "bcdef" [1,6) str.substring(-1); // 输出结果:"abcdefg"
1.split(‘’‘分割符’[,返回的数组的最大长度]),将字符串按照分割符或正则表达式分割后返回一个新数组
let str = "abcdef"; str.split("c"); // 输出结果:["ab", "def"] str.split("", 4) // 输出结果:['a', 'b', 'c', 'd']
str.split(""); // 输出结果:["a", "b", "c", "d", "e", "f"]
多种分割符一起用就用正则表达式
const list = "apples,bananas;cherries" const fruits = list.split(/[,;]/) console.log(fruits); // 输出结果:["apples", "bananas", "cherries"]
1.replace(‘’旧的字符“,”新的字符“)
let str = "abcdef"; str.replace("c", "z") // 输出结果:abzdef
1.大小写
let str = "adABDndj"; str.toLowerCase(); // 输出结果:"adabdndj"
let str = "adABDndj"; str.toUpperCase(); // 输出结果:"ADABDNDJ"
2.字符串转整型数字
parseInt(string, radix)
该方法有两个参数:
string:必需。要被解析的字符串。
radix:进制数。默认十进制。该值介于 2 ~ 36 之间。
parseInt("10"); // 输出结果:10 parseInt("17",8); // 输出结果:15 (8+7) parseInt("010"); // 输出结果:10 或 8
parseInt("0x10") // 输出结果:16
字符串开头和结尾的空格是允许的: parseInt(" 60 ") // 输出结果: 60
3.字符串转浮点数
parseFloat("10.00") // 输出结果:10.00 parseFloat("10.01") // 输出结果:10.01 parseFloat("-10.01") // 输出结果:-10.01 parseFloat("40.5 years") // 输出结果:40.5
1.trim
let str = " abcdef " str.trim() // 输出结果:"abcdef"
2.trimStart
const s = ' abc '; s.trimStart() // "abc "
3.trimEnd
const s = ' abc '; s.trimEnd() // " abc"
原文链接:JavaScript 28个常用字符串方法及使用技巧 - 掘金