Js进阶19-字符串方法

速查表

编号方法名功能原字符串是否改变
1length获取字符串的长度n
2charAt(index)返回指定位置的字符n
3charCodeAt(index)返回指定索引位置字符的 Unicode 值n
4

indexOf(str, start)

查询并返回子串的索引n
5

lastIndexOf(str, start)

反向查询并返回子串的索引n
6

includes(str, start)

判断字符串是否包含指定的子串n
7

startsWith(str)

检测字符串是否以指定的子串开始n
8

endsWith(str)

检测字符串是否以指定的子串结尾n
9concat(str1, str2, ...)连接字符串n
10split(str)把一个字符串分割成字符串数组n
11

slice(start, end)

提取字符串的某个部分n
12

substr(start, length)

在字符串中提取从开始下标开始的指定数目的字符串n
13

substring(start, end)

用于提取字符串中介于两个指定下标之间的字符串n
14

toLowerCase()

把字符串转换为小写n
15

toUpperCase()

把字符串转换为大写n
16

replace(str, newStr)

在字符串中用一个字符串替换另一个字符串,或替换一个与正则表达式匹配的子串
17

match(regexp)

在字符串内检索指定的值,可以是正则表达式n
18

search(str)

用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串n
19

trim()

移除字符串首尾空白符n
20

trimStart()

移除字符串开始的空白符n
21

trimEnd()

移除字符串结尾的空白符n
22

valueOf()

返回某个字符串对象的原始值n
23

toString()

返回字符串对象本身n
24repeat(n)方法返回一个新字符串,表示将原字符串重复n次n
25padStart(index, str)头部补全字符串的长度n
26padEnd(index, str)尾部补全字符串的长度n
27

parseInt()

将字符串转为整数n
28

parseFloat()

将字符串转为浮点数n

1. length

功能:属性,返回字符串的长度。

参数:无

let str = "Hello, world!";
console.log(str.length); // 13

2. charAt(index)

功能:返回指定位置的字符。

参数:index,必须,表示要返回的字符的位置。

let str = "Hello, world!";
console.log(str.charAt(1)); // e
console.log(str.charAt(4)); // o

3. charCodeAt(index)

功能:返回指定位置的字符的 Unicode 编码。

参数:

  • index,必须,表示要返回的字符的位置。
let str = "Hello, world!";
console.log(str.charCodeAt(1)); // 101
console.log(str.charCodeAt(4)); // 111

4. indexOf(str, start)

功能:返回字符串中第一次出现的指定子字符串的位置。如果没有找到子字符串,则返回 -1。

参数:

  • str,必须,表示要查找的子字符串。
  • start,可选,表示查找的起始位置。如果未指定,则从头开始搜索。
let str = "Hello, world!";
console.log(str.indexOf("world")); // 7
console.log(str.indexOf("l")); // 2
console.log(str.indexOf("l", 3)); // 3
console.log(str.indexOf("abc")); // -1

5. lastIndexOf(str, start)

功能:返回字符串中最后一次出现的指定子字符串的位置。如果没有找到子字符串,则返回 -1。

参数:

  • str,必须,表示要查找的子字符串。
  • start,可选,表示查找的起始位置。如果未指定,则从字符串末尾开始搜索。
let str = "Hello, world!";
console.log(str.lastIndexOf("l")); // 9
console.log(str.lastIndexOf("l", 6)); // 3
console.log(str.lastIndexOf("abc")); // -1

6. includes(str, start)

功能:判断字符串中是否包含指定的子字符串。如果字符串中包含指定的子字符串,则返回 true;否则返回 false。

参数:

  • str,必须,表示要查找的子字符串。
  • start,可选,表示从字符串的哪个位置开始搜索。如果未指定,则从头开始搜索。
let str = "Hello, world!";
console.log(str.includes("world")); // true
console.log(str.includes("l")); // true
console.log(str.includes("l", 3)); // true
console.log(str.includes("abc")); // false

includes 方法区分大小写。如果想忽略大小写,可以将字符串转换为小写或大写,然后再调用该方法。 

7. startsWith(str)

功能:判断字符串是否以指定的字符串开头。如果字符串以指定的字符串开头,则返回 true;否则返回 false。

参数:

  • str,必须,表示要比较的字符串。
let str = "Hello, world!";
console.log(str.startsWith("Hello")); // true
console.log(str.startsWith("hello")); // false

startsWith 方法区分大小写。如果想忽略大小写,可以将字符串转换为小写或大写,然后再调用该方法。 

8. endsWith(str)

功能:判断字符串是否以指定的字符串结尾。如果字符串以指定的字符结尾,则返回 true;否则返回 false。

参数:

  • str,必须,表示要比较的字符串。
let str = "Hello, world!";
console.log(str.endsWith("world!")); // true
console.log(str.endsWith("World!")); // false

endsWith 方法区分大小写。如果想忽略大小写,可以将字符串转换为小写或大写,然后再调用该方法。 

9. concat(str1, str2, ...)

功能:将多个字符串拼接成一个新的字符串。返回拼接后的新字符串。

参数:

  • str1,必须,表示要拼接的第一个字符串。
  • str2,可选,表示要拼接的第二个字符串。
  • ...,可选,表示要拼接的其他字符串。
let str1 = "Hello, ";
let str2 = "world!";
let str3 = " How are you?";
console.log(str1.concat(str2)); // Hello, world!
console.log(str1.concat(str2, str3)); // Hello, world! How are you?

concat 方法不会改变原始字符串,而是返回一个新的字符串。如果要将多个字符串插入到同一个字符串中,可以使用字符串模板或加号操作符。 

10. split(str)

功能:将字符串分割成字符串数组。返回字符串数组,其中的元素是原始字符串根据指定的分隔符分割后的子字符串。

参数:

  • str,可选,表示分隔符。如果未指定,则使用默认分隔符,即逗号(,)。
let str = "apple,banana,grape,orange";
let arr = str.split(",");
console.log(arr); // ["apple", "banana", "grape", "orange"]

split 方法不会改变原始字符串,而是返回一个新的字符串数组。如果未指定分隔符,则默认使用逗号(,)作为分隔符。如果指定的分隔符在原始字符串中不存在,则 ​​​​​​​split 方法将返回包含整个字符串的单个元素的数组。如果要将字符串数组合并成一个字符串,则可以使用 ​​​​​​​join 方法。 

11. slice(start, end)

功能:从字符串中提取指定的部分,返回一个新字符串,其中包含从原始字符串中提取的指定部分。

参数:

  • start,可选,表示提取的起始位置。如果未指定,则从字符串的开头开始提取。
  • end,可选,表示提取的结束位置。如果未指定,则提取到字符串的末尾。
let str = "Hello, world!";
console.log(str.slice(7)); // world!
console.log(str.slice(0, 5)); // Hello
console.log(str.slice(-6)); // world!
console.log(str.slice(3, -1)); // lo, world

slice 方法不会改变原始字符串,而是返回一个新字符串。如果省略 start 参数,则 ​​​​​​​slice 方法将从字符串的开头开始提取。如果省略 end 参数,则 ​​​​​​​slice 方法将提取到字符串的末尾。如果 start 参数为负数,则表示从字符串的末尾开始计数。如果 end 参数为负数,则表示提取到字符串的末尾之前的指定位置。 

12. substr(start, length)

功能:从字符串中提取指定的部分,返回一个新字符串,其中包含从原始字符串中提取的指定部分。

参数:

  • start,必须,表示提取的起始位置。如果是负数,则表示从字符串的末尾开始计数。
  • length,可选,表示要提取的字符数。如果未指定,则提取到字符串的末尾。
let str = "Hello, world!";
console.log(str.substr(7)); // world!
console.log(str.substr(0, 5)); // Hello
console.log(str.substr(-6)); // world!
console.log(str.substr(3, 5)); // lo, w

substr 方法不会改变原始字符串,而是返回一个新字符串。如果 start 参数是负数,则表示从字符串的末尾开始计数。如果 length 参数未指定,则提取到字符串的末尾。如果 length 参数是负数,则会被视为 0。如果 start 参数加上 length 参数的值超出了字符串的长度,则只提取到字符串的末尾。建议使用 ​​​​​​​slice 方法来替代 ​​​​​​​substr 方法,因为 ​​​​​​​substr 方法在某些情况下可能会出现错误。 

13. substring(start, end)

功能:从字符串中提取指定的部分,返回一个新字符串,其中包含从原始字符串中提取的指定部分。

参数:

  • start,必须,表示提取的起始位置。
  • end,可选,表示提取的结束位置。如果未指定,则提取到字符串的末尾。
let str = "Hello, world!";
console.log(str.substring(7)); // world!
console.log(str.substring(0, 5)); // Hello
console.log(str.substring(7, 12)); // world
console.log(str.substring(12, 7)); // world

substring 方法不会改变原始字符串,而是返回一个新字符串。如果 start 参数大于 end 参数,则 ​​​​​​​substring 方法会自动交换这两个参数。如果 end 参数未指定,则提取到字符串的末尾。如果 start 或 end 参数是负数,则会被视为 0。建议使用 ​​​​​​​slice 方法来替代 ​​​​​​​substring 方法,因为 ​​​​​​​substring 方法在某些情况下可能会出现错误。 

14. toLowerCase()

功能:将字符串中的所有字母转换为小写字母。返回一个新字符串,其中的所有字母都被转换为小写字母。

参数:无

let str = "Hello, WORLD!";
console.log(str.toLowerCase()); // hello, world!

15. toUpperCase()

功能:将字符串中的所有字母转换为大写字母。返回一个新字符串,其中的所有字母都被转换为大写字母。

参数:无

let str = "Hello, WORLD!";
console.log(str.toUpperCase()); // HELLO, WORLD!

16. replace(str, newStr)

功能:将字符串中的指定字符替换为新字符。返回一个新字符串,其中的指定字符被替换为新字符。

参数:

  • str,必须,表示要替换的字符或字符串。
  • newStr,必须,表示要替换为的新字符或字符串。
let str = "Hello, world!";
let newStr = str.replace("world", "JavaScript");
console.log(newStr); // Hello, JavaScript!

​​​​​​​replace 方法不会改变原始字符串,而是返回一个新字符串。如果要替换所有匹配的子字符串,则可以使用正则表达式来指定替换的模式。例如,str.replace(/world/g, "JavaScript") 将会将字符串 str 中所有的 "world" 都替换为 "JavaScript"。 

17. match(regexp)

功能:在字符串中搜索指定的模式,并返回所有匹配的子字符串。如果未找到匹配项,则返回 null。

参数:

  • regexp,必须,表示要匹配的模式,可以是一个正则表达式对象或一个字符串。
let str = "Hello, world!";
let matches = str.match(/o/g);
console.log(matches); // ["o", "o"]

match 方法返回一个数组,其中包含所有匹配子字符串。如果未找到匹配项,则返回 null。如果正则表达式具有全局标志,则 ​​​​​​​match​​​​​​​ 方法将搜索整个字符串,并返回所有匹配项。否则,它只会返回第一个匹配项。 

18. search(str)

功能:在字符串中搜索指定的子字符串,并返回匹配的位置。如果未找到匹配项,则返回 -1。

参数:

  • str,必须,表示要搜索的子字符串。
let str = "Hello, world!";
let position = str.search("world");
console.log(position); // 7

19. trim()

功能:去除字符串两端的空白字符(包括空格、制表符、换行符等)。返回一个新字符串,其中去除了两端的空白字符。

参数:无

let str = "   Hello, world!   ";
console.log(str.trim()); // "Hello, world!"

​​​​​​​trim 方法不会改变原始字符串,而是返回一个新字符串。如果要去除字符串中间的空白字符,则可以使用正则表达式来匹配和替换。例如,str.replace(/\s+/g, "") 将会去除字符串 str 中的所有空白字符。

20. trimStart()

功能:去除字符串开头的空白字符(包括空格、制表符、换行符等)。返回一个新字符串,其中去除了开头的空白字符。

参数:无

let str = "   Hello, world!   ";
console.log(str.trimStart()); // "Hello, world!   "

trimStart 方法不会改变原始字符串,而是返回一个新字符串。该方法在 ES2019 中被引入,如果要在旧版本的 JavaScript 中使用该方法,可以使用 ​​​​​​​trimLeft 方法替代。 

21. trimEnd()

功能:去除字符串结尾的空白字符(包括空格、制表符、换行符等)。返回一个新字符串,其中去除了结尾的空白字符。

参数:无

let str = "   Hello, world!   ";
console.log(str.trimEnd()); // "   Hello, world!"

trimEnd 方法不会改变原始字符串,而是返回一个新字符串。该方法在 ES2019 中被引入,如果要在旧版本的 JavaScript 中使用该方法,可以使用 ​​​​​​​trimRight 方法替代。 

22. valueOf()

功能:返回一个字符串的原始值。

参数:无

let str = new String("Hello, world!");
console.log(str.valueOf()); // "Hello, world!"

valueOf 方法返回的值与调用该方法的字符串对象相同。这个方法通常不需要显式地调用,因为 JavaScript 在需要字符串原始值时会自动调用它。

23. toString()

功能:返回一个字符串的字符串表示。

参数:无

let str = new String("Hello, world!");
console.log(str.toString()); // "Hello, world!"

toString 方法返回的值与调用该方法的字符串对象相同。这个方法通常不需要显式地调用,因为 JavaScript 在需要字符串表示时会自动调用它。 

24. repeat(n)

功能:返回一个由原字符串重复指定次数后组成的新字符串。

参数:

  • n,必须,表示要重复的次数。
let str = "Hello, world!";
console.log(str.repeat(3)); // "Hello, world!Hello, world!Hello, world!"

​​​​​​​repeat 方法不会改变原始字符串,而是返回一个新字符串。如果 n 参数是负数或 Infinity,将会抛出一个 RangeError 异常。如果 n 参数是小数,则会被向下取整为整数。 

25. padStart(index, str)

功能:返回一个新字符串,其中添加了指定的字符或字符串,使得字符串达到指定的长度。

参数:

  • index,必须,表示最终字符串的长度。
  • str,可选,表示要添加的字符或字符串,如果省略,则默认为添加空格字符。
let str = "Hello";
console.log(str.padStart(10, "x")); // "xxxxxHello"
console.log(str.padStart(10)); // "     Hello"

​​​​​​​padStart 方法不会改变原始字符串,而是返回一个新字符串。如果当前字符串的长度已经大于等于指定的长度,则不会添加任何字符。如果省略第二个参数,则默认使用空格字符来填充字符串。 

26. padEnd(index, str)

功能:返回一个新字符串,其中添加了指定的字符或字符串,使得字符串达到指定的长度。

参数:

  • index,必须,表示最终字符串的长度。
  • str,可选,表示要添加的字符或字符串,如果省略,则默认为添加空格字符。
let str = "Hello";
console.log(str.padEnd(10, "x")); // "Helloxxxxx"
console.log(str.padEnd(10)); // "Hello     "

27. parseInt()

功能:将一个字符串转换为一个整数。返回一个整数,表示转换后的结果。

参数:

  • str,必须,表示要转换的字符串。
  • radix,可选,表示要使用的进制数,默认为 10。
let str = "123";
console.log(parseInt(str)); // 123
console.log(parseInt("010")); // 10
console.log(parseInt("100", 2)); // 4
console.log(parseInt("0x10")); // 16

parseInt​​​​​​​ 方法只会解析字符串中的前缀数字字符,如果字符串中包含非数字字符,则会忽略这些字符。如果省略第二个参数,则默认使用十进制进制数。 

28. parseFloat()

功能:将一个字符串转换为一个浮点数。返回一个浮点数,表示转换后的结果。

参数:

  • str,必须,表示要转换的字符串。
let str = "3.14";
console.log(parseFloat(str)); // 3.14
console.log(parseFloat("3.14 is a pi number")); // 3.14
console.log(parseFloat("10.1e2")); // 1010

parseFloat 方法只会解析字符串中的前缀数字字符和小数点,如果字符串中包含非数字字符,则会忽略这些字符。如果字符串中包含指数表示,例如 10.1e2,则会按照科学计数法解析为一个浮点数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晴雪月乔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值