Js String类型

String

  • 继承自Object的valueOf、toString、toLocalString都返回字符串本身
var str = 'Chang Lau'
console.log(str.valueOf())
  • 长度方法
var str = 'Hello World'
console.log(str.length)
  • 字符方法charAt、charCodeAt
// 字符方法
var str = 'www.coffeecola.cn'
console.log(str.charAt(1), str.charCodeAt(1), str[1])
console.log(String.fromCharCode(119))
  • 拼接方法concat、+号
//操作方法
// 拼接方法
var str = 'Hello'
// 不会修改原字符串本身
console.log(str.concat(' World', '!'))
console.log(str + ' World' + '!')
  • 创建子字符串方法slice、substr、substring
//基于操作字符串返回子字符串
// 1.三个方法都支持传递两个参数,第一个参数是指定子字符串的起始位置,第二个参数如果不传递,则默认表示字符串末尾
// 2.如果第二个参数传递,则slice和substring表示子字符串最后一个字符后面的位置,而substr则表示返回字符的长度
var str = 'www.coffeecola.cn'
// slice
console.log(str.slice(2))
console.log(str.slice(2, 8))
// substr
console.log(str.substr(2))
console.log(str.substr(2, 8))
// substring
console.log(str.substring(2))
console.log(str.substring(2, 8))
  • 字符串位置方法indexOf、lastIndexOf
// 字符串位置方法
var str = 'www.coffeecola.cn'
// 从一个字符串搜索指定字符串,然后返回子字符串的位置(没有找到返回-1)
console.log(str.indexOf('o')) // 正向查询
console.log(str.lastIndexOf('o')) // 方向查询

// 第二个参数表示字符串从那个位置开始搜索,indexOf从指定位置向后搜索,lastIndexOf从指定位置向前搜索
console.log(str.indexOf('o', 6))
console.log(str.lastIndexOf('o', 6))

// 通过循环调用indexOf来匹配所有子字符串
var str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit'
var arr = []
pos = str.indexOf('e')

while (pos > -1) {
  arr.push(pos)
  pos = str.indexOf('e', pos + 1)
}
console.log(arr)
  • 去处前后空格trim
// trim消除字符串首位空格
var str = '   www.coffeecola.cn    '
console.log(str.trim())
  • 字符串大小写转换toLowerCase、toUpperCase
var str = 'Www.CoffEEcola.cn'
console.log(str.toLowerCase())
console.log(str.toUpperCase())
  • 字符串模式匹配match、search、replace、split
var str = 'www.coffeecola.cn'
var reg = /co/
// match只接受一个参数(正则表达式、RegExp对象)与正则表达式exec方法执行结果相同,返回匹配对象
console.log(str.match(reg))
console.log(reg.exec(str));
// [ 'co', index: 4, input: 'www.coffeecola.cn', groups: undefined ]
// 与match接受同样的参数,始终从字符串开头向后查找,返回匹配项的索引,如果没有,返回-1
console.log(str.search(reg));
// 4
console.log(str.replace('co', 'xx'))
// www.xxffeecola.cn
console.log(str.replace(reg, 'xx'))
// www.xxffeecola.cn
console.log(str.replace(/co/g, 'xx'))
// www.xxffeexxla.cn 替换全部co
console.log(str.split(reg));
console.log(str.split('co'));
// [ 'www.', 'ffee', 'la.cn' ] 分割字符串
  • fromCharCode 接受一个或多个字符编码,转化为字符串
// 实现和charCodeAt方法相反的效果
var str = 'hello'
for (index in str) {
  console.log(str.charCodeAt(index))
  console.log(String.fromCharCode(str.charCodeAt(index)))
}

104
h
101
e
108
l
108
l
111
o

猜你喜欢

转载自blog.csdn.net/weixin_34256074/article/details/86901426