原生的字符串操作方法有哪些?请列举并描述其功能

原生 JavaScript 字符串操作方法有很多,以下列举一些常用的方法及其功能:

基本操作:

  • charAt(index): 返回指定索引位置的字符。
  • charCodeAt(index): 返回指定索引位置字符的 Unicode 编码。
  • concat(str1, str2, ...): 连接两个或多个字符串,返回一个新字符串。 可以使用 + 运算符实现相同的功能,通常更简洁。
  • indexOf(substring, start): 返回指定子字符串在字符串中第一次出现的索引,如果找不到则返回 -1。 start 参数可选,指定开始搜索的索引。
  • lastIndexOf(substring, start): 返回指定子字符串在字符串中最后一次出现的索引,如果找不到则返回 -1。 start 参数可选,指定开始搜索的索引(从后往前)。
  • length: 返回字符串的长度。
  • slice(start, end): 提取字符串的一部分,从 start 索引开始,到 end 索引(不包括 end)结束,返回一个新字符串。 如果省略 end,则提取到字符串末尾。 负数索引表示从字符串末尾开始计数。
  • substring(start, end): 类似于 slice(),但如果 start 大于 end,则会交换它们的值。 负数索引会被视为 0。
  • substr(start, length): 提取字符串的一部分,从 start 索引开始,提取 length 个字符。 如果省略 length,则提取到字符串末尾。 负数 start 表示从字符串末尾开始计数。 需要注意的是,substr() 方法已经不推荐使用,建议使用 slice() 方法代替。
  • toLowerCase(): 将字符串转换为小写,返回一个新字符串。
  • toUpperCase(): 将字符串转换为大写,返回一个新字符串。
  • toString(): 返回字符串对象的字符串表示。
  • valueOf(): 返回字符串对象的原始值。

ES6 新增方法:

  • startsWith(searchString, position): 检查字符串是否以指定的子字符串开头。 position 参数可选,指定开始搜索的索引。
  • endsWith(searchString, length): 检查字符串是否以指定的子字符串结尾。 length 参数可选,指定用于检查的字符串长度。
  • includes(searchString, position): 检查字符串是否包含指定的子字符串。 position 参数可选,指定开始搜索的索引。
  • repeat(count): 将字符串重复指定的次数,返回一个新字符串。
  • trim(): 移除字符串两端的空格,返回一个新字符串。
  • trimStart()/trimLeft(): 移除字符串开头的空格。
  • trimEnd()/trimRight(): 移除字符串结尾的空格。
  • padStart(targetLength, padString): 用给定的字符串填充字符串的开头,直到达到指定的长度。
  • padEnd(targetLength, padString): 用给定的字符串填充字符串的结尾,直到达到指定的长度。

正则表达式相关:

  • match(regexp): 使用正则表达式搜索字符串,返回匹配结果的数组。
  • matchAll(regexp): 返回一个包含所有匹配结果的迭代器。
  • replace(regexp/substr, newSubstr/function): 用指定的字符串或函数替换匹配的子字符串。
  • replaceAll(regexp/substr, newSubstr/function): 用指定的字符串或函数替换所有匹配的子字符串。(ES2021 新增)
  • search(regexp): 搜索与正则表达式匹配的子字符串,返回第一个匹配的索引。
  • split(separator, limit): 将字符串分割成子字符串数组。

其他:

  • localeCompare(compareString, locales, options): 比较两个字符串,返回一个数字表示它们的排序顺序。 可以用于国际化排序。

这些方法可以组合使用,实现各种复杂的字符串操作。 选择哪种方法取决于具体的应用场景。 记住,除了 concat() 之外,这些方法都不会修改原始字符串,而是返回一个新的字符串。

希望这个列表对您有所帮助! 如果您有任何其他问题,请随时提出。

posted @ 2024-11-26 06:06  王铁柱6  阅读(26)  评论(0)    收藏  举报