HTML_JavaScript -- 字符串常用操作方法
字符串是一个包装类型:
如果按照数组的操作方式操作,可以包装自己为一个伪数组
有 length 属性 ,可以使用 "[ ]" 语法操作,但是不能使用数组的操作方法
不能通过修改 length 属性来修改字符串的长度, 也不能通过给索引下标赋值来修改字符串的值
常用方法 :
-->str.indexOf( ... )
作用 :
查找某个字串,是否是 str 的内容
查询首次出现的位置的索引
参数 :
查询的字符串
区分大小写
返回值 :
如果有匹配的元素 , 返回的就是对应的索引
否则 , 返回 -1
var str = "wertyu"
console.log(str.indexOf("w") // 0
console.log(str.indexOf("1") // -1
-->str.lastIndexOf(..)
作用:
查询某个字符串,是否是 str 的内容
查询某个字符串,最后一次出现位置的索引
参数 :
查询的字符
区分大小写
返回值:
如果有匹配的元素 , 返回的就是对应的索引
否则 , 返回 -1
var str = "wewrtyu"
console.log(str.lastIndexOf("w") // 2
console.log(str.lastIndexOf("1") // -1
-->str.substring(startIndex, endIndex )
作用: 截取字符串
参数:
stratIndex : 开始位置的索引值
endIndex : 结束位置的索引值
如果没写第二个参数,则截取至原串的最后一个字符
如果第二个参数是负数,则从起始字符位置开始想字符串起始截取,但是不包括第一个参数对应的字符
截取的子串,包括第一个参数,但是不包括第二个参数对应的字符
返回值: 就是截取的子串
var str = "hello"
var newStr = str.substring(1,4)
console.log(newStr) //ell
-->str.substr( startIndex , count)
作用 : 截取字符串
参数 :
startindex :
截取字符串 的起始下标
如果是负数,就是从倒数第几个字符串开始截取
count :
截取字符串的字符个数
如果不写第二个参数,就截取到末尾
不能取负值,取负值返回一个空的字符串
返回值 : 截取的字符串 内容
var str = "hello"
var newStr = str.substr(1,3) //使用substr 来截取字符串
console.log(str.substr(-2)) // lo
console.log(newStr) // ell
-->str.replace(oldStr , replaceStr)
作用 :
字符串内容替换函数
默认执行懒惰模式,只替换第一个复合要求的字符串
参数 :
oldStr : 要被的旧的内容
replaceStr : 用来替换的新的内容
返回值 : 替换后的新的字符串, 不会改变原有的字符串
/* 给一段文章中的全部指定词语进行过滤
比如我要过滤 "SM"
var str = 'asdasdSMasdasdasdSMsdasdasdSMsadasd'
需要结果
asdasd**asdasdasd**sdasdasd** */
var str = 'asdasdSMasdasdasdSMsdasdasdSMsadasd';
while (str.indexOf('SM') !== -1) {
str = str.replace('SM', '**');
}
console.log(str) //asdasd**asdasdasd**sdasdasd**
-->str.splite(symbol , count)
作用 : 字符串转化位数组
参数 :
symbol : 间隔符号
count :
转化数组的单元个数
不写 , 就是按照间隔符号转化
返回值 : 分割立候组成的新的数组 , 不会改变原来的字符串
var str = "2019-12-17"
var res = str.split("-", 2)
console.log(res) // ["2019", "12"]
var str = "2019-12-17"
var res = str.split("-")
console.log(res) // ["2019", "12", "17"]
-->str.toUpperCase() -- str.toLowerCase()
作用 : 将str 全部转化成 大写 或者 小写
var str = "ssssswww"
var res = str.toLocaleUpperCase()
console.log(res) // "SSSSSWWW"
var str = "SSSSSWWW"
var res = str.toLowerCase()
console.log(res) // "ssssswww"
-->str.charAt( index )
作用 : 通过索引返回对应的字符
参数 : 索引
返回值 : 对应位置的字符, 不会改变原有的字符串
var str = "Jerry"
console.log(str.charAt(0)) // "J"
-->str.charCodeAt( index)
作用 : 通过下标返回对应位置的 unicode 编码
var str = "Jack"
var index = str.charCodeAt(0)
console.log(index)
// 74,,因为 J 在 Unicode 对照表里面存储的是 74 , 所以返回的是 74