//1.通过下标找字符
var str = "abc123"
console.log(str[2])
// console.log(str.charAt(2))
//2.charCodeAt unicode
var str = "我爱你a"
console.log(str.charCodeAt(0))
console.log(str.charCodeAt(1))
console.log(str.charCodeAt(2))
console.log(str.charCodeAt(3))
//3.把unicode转换字符
// String.fromCharCode() 静态方法
var str = String.fromCharCode(25105, 29233, 20320)
console.log(str)
//4.查找
// 4.1 search 找到了返回下标,找不到返回-1
// 支持正则
var str = "abc123"
console.log(str.search("c"))
console.log(str.search("z"))
console.log(str.search(/a/))
//4.2 indexof 找到了返回下标,找不到返回-1
// 第2个参数,默认是从0开始,也可以指定位置
// 不支持正则
var str = "abc123"
console.log(str.indexOf("c"))
console.log(str.indexOf("z"))
console.log(str.indexOf(/a/))
//4.3 match 找到了返回数组,找不到 返回null
var str = "abc123"
console.log(str.match("c"))
console.log(str.match("1c"))
//4.4 lastIndexOf
var str = "abc123abc"
console.log(str.lastIndexOf("c"))
console.log(str.lastIndexOf("c", 5))
//5.截取系列
//5.1 slice 包含开始位置,包包含结束
var str = '台上有一位绝世美男子,今年18岁'
console.log(str.slice(7, 10))
console.log(str.slice(7))
//5.2 substring 包含开始位置,包包含结束,可以自动调整参数的顺序
var str = '台上有一位绝世美男子,今年18岁'
console.log(str.substring(10, 7))
console.log(str.substring(7))
//5.3 substr 第2个参数,表示截取的 个数
var str = '台上有一位绝世美男子,今年18岁'
console.log(str.substr(7))
console.log(str.substr(7, 3))
//6.合并 concat
var str1 = "我是"
var str2 = "美男子"
var str3 = str1 + str2
var str4 = str1.concat(str2, "!")
console.log(str3)
console.log(str4)
//7.切割 返回一个新的数组
var str = "abc-123"
console.log(str.split())
console.log(str.split(""))
console.log(str.split("-"))
//8.替换
var str = "台上有一个男子"
var str1 = str.replace("男", "美男")
console.log(str)
console.log(str1)
//9.转大写
var str = "abc123"
var str1 = str.toUpperCase()
console.log(str1)
//10.转小写
var str = "ABCDEGGSASDASDFD"
var str1 = str.toLowerCase()
console.log(str1)
//11.重复多少次
var str = "我爱你!"
var str1 = str.repeat(100)
console.log(str1)
//12.字符串模板 ES6
// var s = "很"
// var str = "今天天气" + s + "好"
// console.log(str)
var s = "很"
var str = `今天天气${s}好`
console.log(str)
//计算结果是
var a = 10
var b = 20
var str = "计算的结果:" + a + b
console.log(str)
var str = `计算结果是:${a + b}`
console.log(str)
var str1 = `aaa`
console.log(typeof str1)
var str = " 你好 帅哦! "
console.log(str.trim())
console.log(str.trimEnd())
console.log(str.trimStart())
//padStart()
//padEnd(), 不够就填充
var str = "我是帅哥"
console.log(str.padStart(10, "."))
console.log(str.padEnd(10, "."))
//includs 是否包含
var str = "abc123"
console.log(str.includes("1c"))
//字符的方法
//1. charAt() 通过下标找字符
//2. charCodeAt() 根据下标返回字符串的unicode
//3. String.fromCharCode() 把unicode转换字符
//4. search() 支持正则,找到了返回下标,找不到返回-1
//5. match() 支持正则,找到了返回数组,找不到返回null
//6. indexOf() 找到了返回下标,找不到返回-1 ,第2个参数,默认是从0开始,也可以指定位置
//7. lastIndexOf()
//8. slice() 截取 包含开始位置,不包含结束位置
//9. substring() 截取 2个参数,大小位置随便写 包含开始位置,不包含结束位置
//10.substr() 第2个参数,截取个数
//11.concat() 合并,拼接
//12.repalce() 替换
//13.split() 切割
//14.repeat() 重复
//15.toUpperCase() 转大写
//16.toLowerCase() 转小写
//17.trim() 去掉前后的空白
//18.padStart() 前面填充
//19.padEnd() 后面填充
//20.includes() 是否包含指定的字符
// g global 全局
var str = "H e l ** l o Wo r L d !"
console.log(str.replace(/\*/g, "").replace(/ /g, ""))