JavaScript字符串的常用方法
- charAt(num):返回对应字符串索引的内容。
var str = "hello world!";
// 1、charAt():返回字符串中某个下标的字符,跟数组的下标是同样的意思
console.log(str.charAt(0)); //h
console.log(str.charAt(6)); //w
console.log(str[0]); //h
- charCodeAt(num):返回对应的字符串索引的内容的unicode编码
var str = "hallo world!";
// charCodeAt(): 获得字符串中指定下标的字符对应的编码
console.log(str.charCodeAt(1)); //a的ASCII码是97
- String.fromCharCode(unicode编码):将参数中的编码返回成对应的字符串的内容,多个编码用逗号分隔。
// String.fromCharCode(); 把编码转成字符,不需要定义字符串变量
// 该函数的前面写的是构造函数的名字,不是字符串变量
var str = String.fromCharCode(97, 98, 99);
console.log(str);
- split():根据分隔符、将字符串拆分成数组。
// split() 和数组的join函数时相逆的
// 功能:把字符串按照指定的分隔符进行分割,结果是数组;
var str = "2020-03-08";
var t = str.split("-");
console.log(t); //["2020", "03", "08"]
- substring():用来截取字符串的内容
// 功能:截取字符串的一部分字符;
// 参数:起始下标:正整数 结束下标(可选的参数):正整数
// var str="what are you 弄啥哩";
// var s1 = str.substring(1,6); //hat a,
// console.log(s1);
var str="what are you 弄啥哩";
var s1 = str.substring(1); //hat are you 弄啥哩"
console.log(s1);
- substr(start, length):用来截取字符串的内容
// 功能:截取字符串中一部分
// 参数:起始下标 长度:截取的字符串的长度(可选的参数)
// var str="what are you 弄啥哩";
// var t = str.substr(1, 6); // hat ar 从下标1开始取出6个字符
// console.log(t);
var str="what are you 弄啥哩";
var t = str.substr(1);
console.log(t);
- toUpperCase():转换成大写.
// toUpperCase() 把字符串中的字符转成大写
var str = "Hello";
var t = str.toUpperCase();
console.log(t);
- toLowerCase():转换成小写.
// toLowerCase() 把字符串中的字符转成小写
var str = "Hello";
var t = str.toLowerCase();
console.log(t);
- slice():截取字符串的方法,如果为负数,从后往前进行截取,包括开始的索引。
// 功能:截取字符串中的一部分
// 参数:起始下标:可以是负数。
//结束下标:可以是负数(可选),如果参数是负数,表示从尾部算起,-1表示最后一个字符
var str = "what are you 弄啥哩";
var s1 = str.slice(1, 6); //hat a,
console.log(s1);
var str = "what are you";
var s1 = str.slice(-2); //ou
console.log(s1);
var str = "what are you";
var s1 = str.slice(-5, -2); //e y
console.log(s1);
- concat( ):和数组方法使用一致
// 功能:把字符串和其它字符串拼接起来
// 参数:若干个字符串
var str="hello";
// var t = str.concat(" hi");
var t = str.concat(" hi"," 您好"); //hello hi 您好
console.log(t);
- indexOf和lastIndexOf():区别是如果第一个参数为负数,数组是从后往前找,字符串当做0处理。
// indexOf()
// 功能:在字符串里查找指定的字符串,返回第一次出现的下标
// 参数:查找的字符串 起始位置(查找的起始位置)(可选参数)
只有一个参数
var str = "hello hello";
var t = str.indexOf("e"); //1
console.log(t);
两个参数
var str = "hello hello";
var t = str.indexOf("e", 2); //7
console.log(t);
// lastIndexOf();
// 功能:在字符串里查找指定的字符串,返回最后一次出现的下标
// 参数: 查找的字符串 起始下标
只有一个参数
var str="hello hello";
var t = str.lastIndexOf("e");//7
console.log(t);
var str="hello hello hello";
// var t = str.lastIndexOf("e");//13
var t = str.lastIndexOf("e",8);//7 从下标8的位置开始查找
console.log(t);
substring,substr,slice三个函数的对比
一、相同点:
功能:都是截取字符串
二、不同的(参数)
1、substring()
参数: 起始下标(0和正整数) 结束下标(不含)(0和正整数)
2、substr()
参数: 起始下标(0和正整数) 长度(正整数)
3、slice()
参数: 起始下标(0和正整数和负数) 结束下标(不含)(0和正整数和负数)
以上就是JavaScript字符串的常用方法,接下来我们就通过几个例子来熟悉一下字符串方法的运用
例子一:aabccd统计每个字符出现的次数,去掉重复的字符,使结果显示 abcd(去重)
function fnQuqong() {
//一、输入(完成一件事情的前提条件)
var str = "aaaabbbbbccddaaattttqqqqyyyy"; //a4b5c2d2a3t4
// 1、定义一个变量,来保存当前的字符(皇帝字符)
var char = str.charAt(0);
// 2、定义一个变量,保存重复出现的次数
var count = 0;
// 3、定义变量,保存最终统计次数结果
var jieguo = "";
// 4、定义变量:保存的去重的结果
var t = "";
for (var i = 0; i < str.length; i++) {
if (str.charAt(i) == char) {
count++;
} else {
// 换字符前,把字符和次数要记录起来
jieguo = jieguo + char + count; //a4
t = t + char;
// 换字符
char = str.charAt(i); //q
// 换字符的同时,需要把count的值进行重置
count = 1;
}
}
// 把最后一个字符和它数量进行拼接
jieguo = jieguo + char + count;
t = t + char;
//三、输出
console.log(jieguo);
console.log(t);
}
例子二、编写一个函数,获得一个十六进制的随机颜色的字符串(例如:#20CD4F)
// 功能:获得一个十六进制的随机颜色的字符串(例如:#20CD4F)
function getColor() {
// 思路: 循环六次,每次循环里,获得一个0-16(不含)之间随机数,转成十六进制的数,进行拼接
var str = "#";
for (var i = 0; i < 6; i++) {
var t = parseInt(Math.random() * 16).toString(16);
str += t;
}
return str;
}