文章目录
- 1. concat() 连接字符串 不会改变原始字符串
- 2. slice() substring() substr() 截取字符串
- 2.1 slice(start, end) 不会改变原始字符串
- 2.2 substring(from,to) 不会改变原始字符串
- 2.3 substr(start,length) 不会改变原始字符串
- 3. toLowerCase() toUpperCase() 大小写转换
- 3.1 toLowerCase() 把字符串转换为小写 不会改变原始字符串
- 3.2 toUpperCase() 把字符串转换为大写 不会改变原始字符串
- 4. split(separator,limit) 字符串分割成字符串数组 不会改变原始字符串
- 5. charAt(index) 返回指定位置的字符 不会改变原始字符串
- 6. indexOf() lastIndexOf() 返回某个指定的字符在字符串中出现的位置
- 6.1 indexOf(searchvalue,start) 不会改变原始字符串
- 6.2 lastIndexOf(searchvalue,start) 不会改变原始字符串
- 7. replace() 字符串中用一些字符替换另一些字符 不会改变原始字符串
1. concat() 连接字符串 不会改变原始字符串
concat()
方法会将两个字符串连接起来, 但是 不会改变原始字符串
let s = "Hello";
let w = "World";
console.log(s.concat(w)); // HelloWorld
console.log(s); // Hello
2. slice() substring() substr() 截取字符串
2.1 slice(start, end) 不会改变原始字符串
slice(start, end)
方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。slice()
不会改变原始字符串
使用start(包含)
和end(不包含)
参数来指定字符串提取的部分。
字符串中第一个字符位置为0
, 第二个字符位置为1
以此类推。
提示: 如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1
指字符串的最后一个字符,-2
指倒数第二个字符,以此类推。使用
start
是必须的 要抽取的片断的起始下标。第一个字符位置为 0end
可选 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
// slice()
var str = "HelloWorld";
console.log(str.slice(1)); // elloWorld
console.log(str.slice(1,5)); // ello
console.log(str.slice(1,-2)); // elloWor
console.log(str); // HelloWorld
2.2 substring(from,to) 不会改变原始字符串
substring(from,to)
用于提取字符串介于两个指定下标之间的字符, 返回的子串包括 开始 处的字符from(包含)
,但不包括 结束 处的字符to(不包含)
。
只能输入正整数, 输入负数不会报错, 但是无效其中
from
是必须的to
可选
// substring()
var str = "HelloWorld";
console.log(str.substring(1)); // elloWorld
console.log(str.substring(1,5)); // ello
console.log(str.substring(1,-5)); // H
console.log(str); // HelloWorld
2.3 substr(start,length) 不会改变原始字符串
substr(start,length)
提取从开始下标指定数目的字符
start
必须 要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1
指字符串中最后一个字符,-2
指倒数第二个字符,以此类推length
可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从开始位置到结尾的字串。
var str = "HelloWorld";
console.log(str.substr(1)); // elloWorld
console.log(str.substr(1,5)); // elloW
console.log(str.substr(-3,3)); // rld
console.log(str.substr(-1,3)); // d
console.log(str); // HelloWorld
3. toLowerCase() toUpperCase() 大小写转换
3.1 toLowerCase() 把字符串转换为小写 不会改变原始字符串
var str = "HelloWorld";
console.log(str.toLowerCase()); // helloworld
console.log(str); // HelloWorld
3.2 toUpperCase() 把字符串转换为大写 不会改变原始字符串
var str = "HelloWorld";
console.log(str.toUpperCase()); // HELLOWORLD
console.log(str); // HelloWorld
4. split(separator,limit) 字符串分割成字符串数组 不会改变原始字符串
如果使用空字符串
("")
,那么每个字符之间都会被分割。
separator
可选。字符串或正则表达式,从该参数指定的地方分割limit
可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
var str = "HelloWorld";
console.log(str.split("")); // ["H", "e", "l", "l", "o", "W", "o", "r", "l", "d"]
console.log(str.split("", 5)); // ["H", "e", "l", "l", "o"]
console.log(str); // HelloWorld
5. charAt(index) 返回指定位置的字符 不会改变原始字符串
charAt(index)
返回指定位置的字符 第一个字符位置为0
, 第二个字符位置为1
,以此类推.
index
必需。表示字符串中某个位置的数字,即字符在字符串中的位置。
var str = "HelloWorld";
console.log(str.charAt(1)); // e
console.log(str); // HelloWorld
6. indexOf() lastIndexOf() 返回某个指定的字符在字符串中出现的位置
6.1 indexOf(searchvalue,start) 不会改变原始字符串
indexOf()
方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果没有找到匹配的字符串则返回-1
。indexOf()
方法区分大小写。
searchvalue
必需。规定需检索的字符串值。start
可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0
到string Object.length - 1
。如省略该参数,则将从字符串的首字符开始检索。
var str = "HelloWorld";
console.log(str.indexOf("H")); // 0
console.log(str.indexOf("c")); // -1
// 规定在字符串中开始检索的位置
console.log(str.indexOf('l')); // 2
console.log(str.indexOf('l',5)); // 8
console.log(str.indexOf('H',1)); // -1
console.log(str); // HelloWorld
6.2 lastIndexOf(searchvalue,start) 不会改变原始字符串
lastIndexOf()
方法可返回一个指定的字符串值最后出现的位置 如果指定第二个参数start
,则在一个字符串中的指定位置从后向前搜索
该方法将从后向前检索字符串,但返回是从起始位置(0)
开始计算子字符串最后出现的位置。 看它是否含有字符串, 开始检索的位置在字符串的start
处或字符串的结尾(没有指定start
时)。
如果没有找到匹配的字符串则返回-1
。lastIndexOf()
方法区分大小写。
searchvalue
必需。规定需检索的字符串值。start
可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0
到string Object.length - 1
。如省略该参数,则在一个字符串中的指定位置从后向前搜索。
var str = "HelloWorld";
console.log(str.lastIndexOf("l")); // 8
// 如果指定了开始的位置, 返回的位置是从指定开始地方,往前计算
console.log(str.lastIndexOf('l', 5)); // 3
console.log(str.lastIndexOf('l', 1)); // -1
console.log(str); // HelloWorld
7. replace() 字符串中用一些字符替换另一些字符 不会改变原始字符串
replace(searchvalue,newvalue)
方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
searchvalue
必须。规定子字符串或要替换的模式的 RegExp 对象。newvalue
必需。一个字符串值。规定了替换文本或生成替换文本的函数
var str = "HelloWorld";
console.log(str.replace("l", "w")); // HewloWorld
console.log(str.replace(/l/g,'w')); // HewwoWorwd
console.log(str); // HelloWorld