介绍
JS 常用字符串方法
# 常用方法合集
String.split() //分割 按照参数分割字符串 如果你不加任何条件 会直接把字符串转换成数组 String.substring(0,2) //裁剪 从下标0到2裁剪,不包括下标2 String.charAt(0) //提取 提取下标为0的字符 String.indexOf("") //查询 同数组方法 string.replace(a,b) //替换 将参数a替换为参数b String.padStart(位数,补数) //补位 如果字符串不满足位数要求,使用补数填充位数 String.toUpperCase() //全部转换为大写 String.toLacaleLowerCase() //全部转换为小写 String.trim() //去除两边空格 String.endsWith('.xlsx') //检查字符串是否以指定的子字符串结尾(常用于检查上传文件的后缀名.xlsx 等) String.startsWith() //检测字符串开头是否以XXX开头(常用于检测获取到的地址 检测地址开头是否符合标准)
# 字符串截取最后/
的内容
- 字符串截取最后
/
的内容 常见用处理跳转内容
const ret = 'vue/index/php/java'
// 截取最后/的内容
const name = ret.substring(ret.lastIndexOf('\/') + 1, ret.length)
console.log(name)
// java
# 把首字母变成大写
- 我们可以通过
toUpperCase()
方法把字符串全部转换成大写 但是我只想转首字母呢 就像驼峰命名一样
const ret = 'name'
// 把首字母变成大写
const retChange = ret.slice(0, 1).toUpperCase() + ret.slice(1)
console.log(retChange)
// name
# 把字符串转换成数组
split()
方法可以设置筛选条件(比如,
分割等等) 然后根据条件分割字符串后 返回一个新数组 不会修改原数据- 如果
split()
不添加条件 那么就是默认把字符串转换成数组 不进行分割 相当于套了层[]
举个例子
- 把
,
分隔的字符串 转换成数组
let string = '123,456,789';
let stringResult = string.split(','); // 我要按需求 把,作为条件 分割字符串成新数组
console.log(stringResult) //输出["123", "456", "789"]
# replace()
字符串替换内容方法
- replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
- 此方法不会创建一个新数组 会直接改变原来数组
- 通常配合正则表达式来替换内容
w = kw.replace(reg, this.q) // 替换方法 replace(替换规则,替换数据)
参数 | 描述 |
---|---|
regexp/substr | 必需。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。 |
replacement | 必需。一个字符串值。规定了替换文本或生成替换文本的函数。 |
使用正则表达式 配合
replace
替换内容
// kw此时包括span高亮的标签,需要去掉
const reg = new RegExp(`<span>${this.q}</span>`, 'ig') //RegExp是正则表达式 对象模式
kw.replace(reg, this.q) // 替换方法 replace(替换的规则,需要替换的数据)
# 替换对象的key
- 如果后端返回的数据 不是你需要的key 这个时候你就可以替换key 用你想用key
- replace() (opens new window) 只支持替换字符串 数组或其他类型的会报错 但是你可以把他转换成JSON字符串JSON.stringify() (opens new window) 使用的时候再通过JSON.parse() (opens new window) 解析JSON 字符串 即可完成替换操作
假设数据这个样子
- 这个时候 你想把
id
替换成valueregion_name
替换成text 需要用到replace
这个方法 通过正则来替换key 替换成自己想要的
// 接收数据
const ret = res.data.data
// 处理数据b
const changeObject = JSON.parse(JSON.stringify(ret).replace(/region_name/g, "text").replace(/id/g, "value"));
- 这样数据就处理好啦