let s = "hello, world!"
//取得字符串的一部分
console.log(s.substring(1,4)); //第2~4个字符
console.log(s.slice(1,4)); //同上
console.log(s.slice(-3)); //最后三个
console.log(s.split(", ")); //从界定符只中分开
//搜索字符串
console.log(s.indexOf("l")); //第一个l的位置
console.log(s.indexOf("l", 3)); //第三个位置后 第一l的位置
console.log(s.indexOf("zz")); //s并不存在“zz”
console.log(s.lastIndexOf("l")); //最后一个l的位置
// ES6之后版本中布尔值的搜索函数
console.log(s.startsWith("hell")); //字符是以这些字符开头
console.log(s.endsWith("!")); //结尾
console.log(s.includes("or")); //包含字符or
//创建字符串的修改版本
console.log(s.replace("llo", "ya"));
console.log(s.toLowerCase()); //小写
console.log(s.toUpperCase()); //大写
console.log(s.normalize()); //归一化,Unicode NFC
console.log(s.normalize("NFC")); //还有NFKC 和 NFKD
//访问字符串的个别(16位值)字符
console.log(s.charAt(0)); //“h” 第一个字符
console.log(s.charAt(s.length-1)); //“!” 最后一个字符
console.log(s.charCodeAt(0)); //指定位置的16位数值
console.log(s.codePointAt(0)); //同上,适用于码点大于16位的情形
// ES2017 新增的字符串填充函数
console.log("x".padStart(3)); //在左侧添加空格 使之长度变成3
console.log("x".padEnd(3)); //在右侧添加空格 使之长度变成3
console.log("x".padStart(3,"*")); //左加星号 长度变成3
console.log("x".padEnd(3,"*")); //右加星号 长度变成3
//删除空格函数。trim()是ES5就有的,其他是ES2019增加的
console.log(" test".trim()); //删除开头和结尾的空格
console.log(" test".trimStart()); //删除左边的空格,也叫trimLeft
console.log(" test ".trimEnd()); //删除右边的空格,也叫trimRight
//未分类字符串方法
console.log(s.concat("!")); //拼接
console.log(s.repeat(2)); //拼接2次