字符串
- 零个或多个排在一起的字符,放在单引号或双引号之中。
- 在字符串中 \ 是字义字符 比如:\n换行
\0 :null(\u0000)
\b :后退键(\u0008)
\f :换页符(\u000C)
\n :换行符(\u000A)
\r :回车键(\u000D)
\t :制表符(\u0009)
\v :垂直制表符(\u000B)
\' :单引号(\u0027)
\" :双引号(\u0022)
\\ :反斜杠(\u005C)
- +号在字符串中起到链接和拼接的作用
var name = "小明";
var age = 20;
var message = "你好, "+ name + ", 你今年'"+ age + "岁了!";
alert(message);
在ES6新增了一种模板字符串,表示方法和上面的多行字符串一样,但是它会自动替换字符串中的变量
var name = "小明";
var age = 20;
var message = "你好, ${name}, 你今年${age}岁了!";
alert(message);
字符串的操作
转化大小写
- toUpperCase转化成大写
var s = 'Hello';
s.toUpperCase(); // 返回'HELLO'
- toLowerCase转化成小写
var s = 'Hello';
var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower
lower; // 'hello'
字符串的拼接
- concat
var str = "hello";
var resulrt = str.concat("我是","cc");
console.log(resulrt);
//打印结果:
hello我是cc
字符串的替换
- replace("要替换的字符串","被替换的字符串");
var resulrt = hello我是cc
var str1 = resulrt.replace("cc","110");
console.log(str1);
获取字符串的位置
- indexOf("字符") 返回字符所在的位置
- 它是从 前面开始数(从左边开始数), 而且只找第一个, 然后返回改字符的位置, 索引号都是从0开始的。 返回的是个数值。
var txt = “abcdef”;
alert(txt.indexOf(“d”)) 结果就是 3
- lastIndexOf(参数:索引字符串)
- 从后面开始数,找到都一个字符,但是索引号是 从 左边开始 数的
var txt = “abcdfdef”;
alert(txt.indexOf(“d”)) 结果就是 5
获取子字符串
- slice("开始位置","结束位置"),其中"结束位置" 可以省略
var txt = "abcdfdef";
alert(txt.slice(0,4)) ;
//结果是:abcd
从0的索引开始到4, 但是不包括4
起始位置可以是负数 , 如果是负数,则是从 右边往左边开始取。
var txt =”asdf”;
txt.slice(-1) 结果是 f
- substr("开始位置","截取的个数")
- 是指从起始位置开始,往后面数几个
var txt = “abcdefghijk”;
txt.substr(3,4);
例子
var str = "122340.12345";
var num = str.indexOf(".") + 3;
console.log(str.substr(0,num));
- 字符串是可以看成多个字符组成的数组
var str = "hello";
for (var i = 0; i < str.length; i ++) {
console.log(str[i]);
}
- 应用
//找到这个字符串中所有的 o 出现的位置
var str2 = "hello wod odd ott fbo nhyo";
var index = 0;
var key = "o";
while ((index = str2.indexOf(key,index)) != -1){
console.log(index);
index+= key.length;
}
//找到这个字符串中每个字符串出现了多少次
//思路:创建一个空对象,字母作为key,字母出现的次数作为Value
var str3 = "whatOareYyouYnoYshaHleiHoHmyHgod";
str3 = str3.toLocaleLowerCase();
var obj = {};
for (var i = 0; i < str3.length; i ++) {
//获取到key
var key = str3[i];
//判断是否存在
if (obj[key]) {
//存在 说明已经出现过,次数加一
obj[key]++;
}else{
//说明是第一次出现,value设置为1
obj[key] = 1;
}
}
for (var key in obj) {
console.log(key +"出现的次数是:" + obj[key] );
}
网友评论