js 字符串String的一些方法总结

2020-01-14  本文已影响0人  摸摸大海参

这些方法都不会修改原字符串

(1)charAt(index)

返回子字符串,index为字符串下标,index取值范围 [ 0, str.length - 1 ]

var str = 'abcd'
str.charAt(1)     // "b"
(2)indexOf(searchString, startIndex)

返回子字符串第一次出现的位置;startIndex 选填,表示从 startIndex 开始查找,找不到时返回-1

var str = 'abcd'
str.indexOf('b')  // 1
(3)lastIndexOf(searchString, startIndex)

从右往左找子字符串;startIndex 选填,表示从 startIndex 开始逆向查找,找不到时返回-1

var str = 'abcd'
str.lastIndexOf('b')  // 1
(4)substring(startIndex, endIndex)

截取字符串,没有 endIndex 表示截取 startIndex 以下所有字符;如果startIndex 小于 endIndex,结果与两个参数调换了一样;负值当 0 处理。
substring(0, 5) : 截取前5个字符,共(5 - 0)= 5个字符
substring(5) : 从第5项截取到最后
substring(2, 5) : 截取从第2项到第5项,共(5 - 2)= 3个字符
substring(5, 2) : 截取从第2项到第5项,共(5 - 2)= 3个字符

var str = '123456'
var _str = str.substring(1, 4)   // '234'
(5)slice(startIndex, endIndex)

提取字符串的一部分;startIndex, endIndex可以是负值,例如:-2 表示 str.length + (-2) 即 str.length - 2

var str = '123456'
str.slice(1, 5)   // '2345'
str.slice(1, -1)   // '2345'
(6)split(separator, limit)

字符串分割成数组;separator为字符串或者正则表达式,表示按照一定的规则分割字符串;limt为整数,表示返回结果为限定元素个数的数组。

var str = 'ab'
str.split()     // ['ab']
str.split('')    // ['a', 'b']

var _str = 'ab cd'
str.split(' ')    // ['ab', 'cd']
str.split(' ', 1)    // ['ab']
(7)replace(rgExp/substr, replaceText)

替换字符串的特定字符串,返回替换后的字符串

var str = 'abcd abcd abcd'
str.replace('a', 'y')    // "ybcd abcd abcd”,这种方式只能替换第一个匹配的
str.replace(/ab/g, 'y')   // "ycd ycd ycd”,正则加上g,全局匹配

// 根据变量全局替换
var key = 'ab'
str.replace(new RegExp(key,'g'), 'y')  // "ycd ycd ycd"
(8)includes(searchString, startIndex)

判断一个字符串是否包含另一个字符串,返回值为true 或 false;startIndex 可选,表示从 startIndex 开始搜寻;
注:IE不支持 includes,用 indexOf 实现该功能更好。

var str = '123456'
var res = str.includes('23')    // true
var _res = str.includes('67')   // false
(9)trim()

去掉字符串的两端空白字符,返回新的字符串

var str = '  abc  '
str.trim()    // "abc"
(10)toUpperCase() 与 toLowerCase()

toUpperCase():将字符串的所有字符转为大写,返回新的字符串
toLowerCase():将字符串的所有字符转为小写,返回新的字符串

(11)与数字相加减

字符串 + 数字:都转为字符串再连接;
字符串 - 数字:都转为数字再相减

var a = '111'
var b = a + 2   // 1112
var c = a - 2   // 109
(12)判断字符串是否为回文字符

回文字符:字符串翻转与原字符串一样,例如: aba 翻转后还是 aba

function fn (str) {
    return str.split('').reverse().join('') === str
}

fn('abc')    // false
fn('abba')   // true
上一篇 下一篇

猜你喜欢

热点阅读