<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var str1 = "HellaoWorld";
// string.charAt(n) 获取指定下标的字符
var c = str1.charAt(4);
console.log("下标4的字符是:" + c);
// string.charCodeAt(n) 获取指定下标字符的unicode码
// 0 -> 48 A -> 65 a -> 97
var asiccCode = str1.charCodeAt(4);
console.log("下标4字符对应的asicc码是:" + asiccCode);
// string.concat(value, ...) 把参数字符串拼接到原字符串的末尾,生成新的字符串返回
var concatStr = str1.concat(100, true, null, [1, 2, 3]);
console.log("concat拼接字符串之后:" + concatStr);
// String.fromCharCode(c1, c2, ...) 从一系列的unicde编码得到拼接好的字符串
var unicodeStr = String.fromCharCode(97, 98, 99, 100, 101);
console.log(unicodeStr);
var str1 = "HelloabcWorldabcQQ123";
// string.indexOf(substring) 从头到尾检索,substring在string首次出现的下标
// 检索方式是: 从前向后
var indexAbc = str1.indexOf("abc");
console.log("abc在str1中首次出现的下标:" + indexAbc);
//string.indexOf(substring,start) 从start下标到尾检索,substring在string首次出现的下标
var indexAbc = str1.indexOf("abc", 6);
console.log("abc在下标5之后首次出现的下标:" + indexAbc);
var indexAbc = str1.indexOf("qwer");
console.log("qwer在str1中首次出现的下标:" + indexAbc);
var str1 = "HelloabcWorldabcQQ123";
// string.lastIndexOf(substring)
// 检索方式是: 从后向前
var lastAbc = str1.lastIndexOf("abc"); // 13
console.log("abc在字符串中最后一次出现的下标:" + lastAbc);
// string.lastIndexOf(substring, start)
var lastAbc = str1.lastIndexOf("abc", 9); // 5
console.log("abc在字符串中最后一次出现的下标:" + lastAbc);
// str1.length = 5;
// 属性String.1ength是一个只读整数,它声明了指定字符串string中的字符数。
console.log("str1字符串的长度是:" + str1.length);
// string.localeCompare(target) 进行字符串比较大小的方法
var a = "a"; // 97
var b = "a"; // 98
// 如果string小于target,则localeCompare()返回小于0的数 -1
// 如果string大干target,该方法返回大于0的数。 1
// 如果两个字符串相等,或根据本地排序规约没有区别,该方法返回0。 0
console.log("字符串a和b进行比较:" + b.localeCompare(a));
console.log("我".charCodeAt(0)); // 25105
console.log("你".charCodeAt(0)); // 20320
console.log("他".charCodeAt(0)); // 20182
console.log("咱".charCodeAt(0)); // 21681
// 我们如果想要进行字符串数组排序,那么需要使用localeCompare()
// 使用localeCompare()排序的是字母顺序排序的
var arr = ["我", "你", "他", "咱"];
arr.sort(function(a, b) {
return a.charCodeAt(0) - b.charCodeAt(0); // 升序排列
});
console.log(arr);
// string.replace(regexp, replacement)
// 字符串string的方法replace()执行的是查找并替换的操作。
// 在js里面的replace方法,如果做纯文本替换,那么只会替换第一个
// 如果想要做复杂的替换,那么需要依赖于正则
var str1 = "我爱你,你爱他";
// var replaceStr = str1.replace("爱", "恨"); // 只替换了第一个爱
// var replaceStr = str1.replace(/爱/g, "恨"); // 替换所有的爱
var str1 = "abcABCabc";
// i -> ignore
var replaceStr = str1.replace(/a/gi, "W"); // 替换所有的a,不区分大小写
console.log("替换完成之后:" + replaceStr);
// var x = "abcqe1cdsa3csac5";
// string.slice(start, end) 抽取一个子串
var str1 = "abcABCabc";
var subStr1 = str1.slice(2);
var subStr2 = str1.slice(2, 5);
var subStr3 = str1.slice(5, 2);
console.log("从下标2开始截取字符串:" + subStr1); // cABCabc
console.log("从下标2开始截取到下标5的字符串:" + subStr2); // cAB
console.log("从下标5开始截取到下标2的字符串:" + subStr3); // ""
console.log("------------------------")
// string.split(delimiter, limit) 创建并返回一个字符串数组
var str1 = "五星红旗,迎风飘扬,胜利歌声多么响亮,歌唱我们亲爱的祖国,从今走向繁荣富强";
// var strArr = str1.split(",");
var strArr = str1.split(",", 3);
console.log(strArr);
// string.substr(start, length) 抽取一个子串
var str1 = "abcABCabc";
var subStr1 = str1.substr(2);
var subStr2 = str1.substr(2, 5);
var subStr3 = str1.substr(5, 2);
console.log("从下标2开始截取字符串:" + subStr1); // cABCabc
console.log("从下标2开始截取到下标5的字符串:" + subStr2); // cABCa
console.log("从下标5开始截取到下标2的字符串:" + subStr3); // ""
// string.substring(from, to) 返回字符串的一个子串
var str1 = "abcABCabc";
var subStr1 = str1.substring(2);
var subStr2 = str1.substring(2, 5);
var subStr3 = str1.substring(5, 2);
console.log("从下标2开始截取字符串:" + subStr1); // cABCabc
console.log("从下标2开始截取到下标5的字符串:" + subStr2); // cAB
console.log("从下标5开始截取到下标2的字符串:" + subStr3); // cAB
// toLocaleLowerCase( ) toLowerCase( ) 把字符串转换小写
var str1 = "abcABCabc";
console.log(str1.toLocaleLowerCase());
console.log(str1.toLowerCase());
// toLocaleUpperCase( ) toUpperCase( ) 将字符串转换成大写
console.log(str1.toLocaleUpperCase());
console.log(str1.toUpperCase());
/*
1、如何把数组转换为指定规则字符串,如果把字符串拆分为数组?
数组转换为字符串: jion()
字符串拆分为数组: split()
2、JS字符串方法slice()、substr()、substring()方法的区别?
这些方法,如果值传递开始下标,那么都表示从开始截取到末尾
如果有两个参数:
slice(start,end) 表示从开始下标截取到结束下标
substr(start,length) 表示从开始下标截取指定个数
substring(index1,index2) 表示从开始下标截取到结束下标,但是哪个下标值大,哪个就作为结束下标;
String里面用到正则的方法:
match( ) 找到一个或多个正则表达式的匹配
replace( ) 替换一个与正则表达式匹配的子串
search( ) 检索与正则表达式相匹配的子串
split( ) 将字符串分割成字符串数组
*/
</script>
</body>
</html>