目录
🍓创建string对象
字面量方式
var str = "字符串*";构造函数:
var str = new String("字符串");
🍓字符串长度
str.length 可以得到字符串对象的长度
举个栗子:
var str = new String("你好呀ifejfeslkfmkbf");
console.log(str.length); //17
🍓索引
使用索引可以访问字符串中字符
字符串的索引从零开始,str[0] 是字符串中第一个数
字符串第一字符为 [0],第二个字符为 [1]
var str = new String("你好呀ifejfeslkfmkbf");
console.log(str[0]);//你
console.log(str[1]);//好
🍓字符串方法
🐇 indexOf()
定位字符串中某一个指定的字符首次出现的位置
语法结构:
indexOf (参数1,参数2) 从参数2的位置开始查找参数1在整个字符串中第一次出现的位置
参数1:必需值、 查找的子串参数2:可选 开始查找的位置 若省略,则默认从0开始查找
返回值 : 整数 若查找到该子串返回该子串在整个字符串第一次出现的位置,若查找不到,返回值为-1
举个栗子:
var str="hello world";
console.log(str.indexOf("o"));//4
console.log(str.indexOf("o",1));//4
console.log(str.indexOf("o",5));//7
console.log(str.indexOf("v"));//-1
console.log(str.indexOf("q"));//-1
🐇 lastIndexOf() 方法
在字符串末尾开始查找字符串出现的位置。
返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。
注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。
如果没有找到匹配字符串则返回 -1 。
举个栗子:
var str = "hello world";
console.log(str.lastIndexOf("o"));//7
console.log(str.lastIndexOf("o",6));//4
🐇 replace() 方法 替换
语法结构:
replace(参数一,参数二) 方法用于在字符串中用参数2替换参数一,或替换一个与正则表达式匹配的子串。
参数.replace(“a”,“b”) 在字符串参数中用b 替换a
参数.replace(/a/g,“b”) g global 全局
返回值:替换后的新的字符串
replace() 方法若想一次进行全局替换可以在后面加上 g,若想替换的内容忽略大小写 则加上 i。
举个栗子:
将句子中的blue全部替换掉,中文也是可以的
var str = "Mr Blue has a blue house and a blue car";
var n = str.replace(/blue/g, "red");
console.log(n);//Mr Blue has a red house and a red car
🍓 字符串的截取
🐇substr() 截取
从参数1的位置开始截取长度为参数2的字串
语法:
substr (参数1,参数2);
参数1 必须值 开始截取的位置 可以为负值-1代表最后一个字符,-2代表倒数第二个 从-值的地方向后截取
参数2 从开始截取的位置向后几位 不写默认为截取到末尾
返回值:截取的字串
举个栗子:
var str1 = "user=dyz&pwd=1234";
var a = str1.substr(5, 3);
var b = str1.substr(13,4);
console.log(a);//dyz
console.log(b);//1234
🐇substring() 截取
从参数1开始到参数2(不包含参数2)位置的子串
语法:
substring( 参数1,参数2);
参数1 必须值 开始截取的位置参数2 从开始截取的位置 到自身减去参数1 的位置 不写默认为截取到末尾
返回值:截取的子串
注意:
- 截取时包含开始位置,不包含结束位置
- 当参数1==参数2,截取的是空串
- 当参数1>参数2,截取前会交换位置
- 参数不能为负数
举个栗子:
var str3 = "welcome to magic school";
console.log(str3.substring(11,16));//magic
console.log(str3.substring(11,11));//为空
console.log(str3.substring(16,11));//magic
🐇slice() 截取
截取前不会交换位置
如果第一个参数 大于第二个参数 则会截取到空串
第一个参数必须小于第二个参数 和substring() 截取 用法一样 但是可以为负值提取字符串的片断,并在新的字符串中返回被提取的部分。
🐇charAt
返回字符串指定位置的字符
语法:
字符串对象.charAt(索引号);
charAt()方法具有一个参数:即所选取字符在字符串中的位置。
🐇charCodeAt
根据索引查找位置
返回一个整数
代表指定位置上字符的 Unicode 编码 (返回值是 0 - 65535 之间的整数)
参数:必需。表示字符串中某个位置的数字,即字符在字符串中的下标。
🐇 split() 分割
把一个字符串分割成字符串数组
语法:
参数1:分隔符 参数2:限制份数
如果两个数都为空的话就会全部打印
返回值:分割后的数组
var str="hello-javascript-yaya";
console.log(str.split("-"));//['hello', 'javascript', 'yaya']
console.log(str.split("-",2));// ['hello', 'javascript']
console.log(str.split(" "));// ['hello-javascript-yaya']
console.log(str.split("",5));// ['h', 'e', 'l', 'l', 'o']
🍓 字符串大小写转换
🐇toUpperCase()转换大写
var str = "document-get";
var a = str[0].toUpperCase(); //D
console.log(a);//D
🐇 toLowerCase() 转换小写
var str = "DOCUMENT";
var a = str.toLowerCase(); //document
console.log(a);//document
🐇concat()连接
语法:
concat() 方法用于连接两个或多个字符串。
该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。
var str="hello";
console.log(str.concat("world"));//helloworld
console.log(str.concat("world",100));//helloworld100
🐇match()
语法:
查找多个子串 g=global全局匹配 i = ignore 忽略大小写
match(/参数/gi) 表示全局匹配这个值 忽略大小写参数 正则表达式 或字符串
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
返回值: 返回满足正则结果的数组 匹配失败则返回null
举个栗子:
var str = "i love js,i love code";
var str1 = "小胡:20;小张:18;小王:25";
console.log(str.match("love"));//['love', index: 2, input: 'i love js,i love code', groups: undefined]
console.log(str.match(/love/gi));//['love', 'love']
// g:global全局 i:ignorecase 忽略大小写
console.log(str1.match(/\d{2}/g));//['20', '18', '25']
🐇 trim() 删除字符串左右空格
trim() 删除字符串头尾的空白符
语法 字符串.trim()trimLeft() 只删除左侧空格
trimright() 只删除右侧空格
去除字符串的头尾空格:
var str = " Runoob ";
console.log(str.trim());//Runoob
trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。
trim() 方法不会改变原始字符串。
trim() 方法不适用于 null, undefined, Number 类型。
🐇 includes(参数)
字符串.includes(参数) 查找字符串对象中有没有这个子串
参数 输入要查找的值
🐇search(参数)
返回查找字符串或正则表达式的第一个的索引
var str = "i love js,i love code";
console.log(str.search("love"));//2