JS-String篇(速记用法大汇总)

简介: JS-String篇(速记用法大汇总)

JS-String篇

String 全局对象是一个用于字符串或一个字符序列的构造函数.

方法

🍳从字符串中获取单个字符

  • String.prototype.at()
String.prototype.at(index): index接收一个正整数(可正可负),并返回一个新的String.
  • String.prototype.charAt()
String.prototype.charAt(index): index(0~length-1),默认值为0,返回一个指定字符.
  • String.prototype.charCodeAt()
String.prototype.charCodeAt(index): index(0~length-1),
返回值 :指定 index 处字符的 UTF-16 代码单元值的一个数字(0~65535);如果 index 超出范围,charCodeAt() 返回 NaN.
  • String.prototype.codePointAt()
String.prototype.codePointAt(pos): 
  pos(这个字符串中需要转码的元素的位置)
  返回值: 是在字符串中的给定索引的编码单元体现的数字,如果在索引处没找到元素则返回 undefined 。
  • 💎三者之间的区别:
    charAt() 方法返回指定位置的字符, 后两者返回数值.
    JavaScript 内部,字符以 UTF-16 的格式储存,每个字符固定为2个字节。对于那些需要4个字节储存的字符(Unicode码点大于0xFFFF的字符),JavaScript 会认为它们是两个字符, charCodeAt()方法只能分别返回前两个字节和后两个字节的值, odePointAt()方法,能够正确处理 4 个字节储存的字符,返回一个字符的码点.
var a = "?"
a.charCodeAt(0);//返回前两个字节的值 55362
a.charCodeAt(1);//返回后两个字节的值 57271
var a="?c"
a.charCodeAt(0);//返回了该字的十进制码点
a.charCodeAt(1);//返回后两个字节的值
a.charCodeAt(2);//返回c的由此可见 
// 上面代码中,字符c在字符串a的正确位置序号应该是 1,但是必须向codePointAt方法传入 2.
// 解决办法: 使用for...of循环, 因为它会正确识别32位的UTF-16字符.
let a = '?c';
for (let ch of a) {
   console.log(ch.codePointAt(0));
}
// codePointAt()方法返回的是码点的十进制值,如果想要十六进制的值,可以使用toString方法转换一下。
a.codePointAt(0).toString(16)

🎗拼接字符串

  • String.prototype.concat()
str.concat(str2, [, ...strN]): str2(需要连接到 str 的字符串).
将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回

📑 判断某些字符串的位置

  • String.prototype.endsWith()
String.prototype.endsWith(searchString[,length]):
  searchString(要搜索的子字符串).lenght(作为str的长度,默认为str.length);
  返回值: 如果传入的子字符串在搜索字符串的末尾则返回true;否则将返回 false.
  • String.prototype.startsWith()
String.prototype.startsWith(searchString[,position]):
  position(在str中搜索searchString的开始位置,默认为0)
  返回值: 如果在字符串的开头找到了给定的字符,则返回true;否则返回false。
  • String.prototype.includes()
str.includes(searchString[, position])
  返回值: 如果当前字符串包含被搜寻的字符串,就返回 true;否则返回 false.
    注意: 区分大小写.
  • String.prototype.indexOf()
String.prototype.indexOf(searchValue[, fromIndex])
  searchValue(要被查找的字符串值)
  如果没有提供确切地字符串, searchValue会被强制设置为"undefined"
  fromIndex(数字表示开始查找的位置)
  返回值: 查找的字符串 searchValue 的第一次出现的索引,如果没有找到,则返回 -1
  • String.prototype.lastIndexOf()
String.prototype.lastIndexOf(searchValue[, fromIndex])
  fromIndex(从str的第fromIndex 位开始向左回向查找.
             fromIndex 默认值是 +Infinity;
             如果fromIndex >= str.length,会搜索整个字符串;
              fromIndex < 0,等同于 fromIndex=0)
  返回值: 返回指定值最后一次出现的索引 (该索引仍是以从左至右 0 开始记数的),如果没找到则返回-1。
  • String.prototype.match()
str.match(regexp)
  regexp: 一个正则表达式对象, 如果传入一个非正则表达式, 则会隐式地使用 new RegExp(obj) 将其转换为一个 RegExp.
  返回值: 
    如果使用g标志, 返回与完整正则表达式匹配的所有结果,不会返回捕获组.
    如果不使用g标志, 返回第一个完整匹配及其相关的捕获组.
    附加属性: 
      groups: 一个命名捕获组对象,其键是捕获组名称,值是捕获组,如果未定义命名捕获组,则为 undefined。
      index: 匹配的结果的开始位置.
      input: 搜索的字符串.
  • String.prototype.matchAll()
String.matchAll(regexp)
  RegExp必须是设置了全局模式g的形式,否则会抛出异常TypeError.
  返回值: 一个迭代器.
  • String.protype.search()
str.search(regexp)
  返回值: 
    如果匹配成功,则search()返回正则表达式在字符串中首次匹配项的索引.否则,返回-1.

♦转为字符串类型

  • String.fromCharCode()
String.fromCharCode(num1[,...[,numN]])
num1(一系列UTF-16代码单位的数字(介于0-65535之间))
返回值: 一个长度为N的字符串,由N个指定的UTF-16代码单元组成.
  • String.fromCodePoint()
返回值: 使用指定的 Unicode 编码位置创建的字符串。

🔧对字符串进行加工

  • String.prototype.padEnd()
str.padEnd(targetLength [, padString])
    targetLength(当前字符串需要填充到的目标长度)
    padString(填充字符串)
  返回值: 在原字符串末尾填充指定的填充字符串直到达到目标长度.
  • String.prototype.padStart()
str.padStart(targetLength[, padString])
  返回值: 在原字符串开头填充指定的填充字符串直到目标长度所形成的新字符串.
  • String.prototype.repeat()
str.repeat(count)
  count(介于0~+Infinity之间的整数).
  返回值: 包含指定字符串的指定数量副本的新字符串.
  • String.prototype.replace()
str.replace(regexp|substr, newSubStr|function)
  regexp: 一个RegExp对象或字面量.
  substr: 一个将被 newSubStr 替换的字符串.
  newSubStr: 用于替换第一个参数在原字符串中的匹配部分的字符串.
  function: 一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。
  返回值: 一个部分或全部匹配由替代模式所取代的新的字符串。
  • String.prototype.replaceAll()
str.replaceAll(regexp|substr, newSubStr|function)
当使用一个 regex 时,必须设置全局(“ g”)标志, 否则,它将引发 TypeError:“必须使用全局 RegExp 调用 replaceAll”。
  • String.prototype.toLocaleLowerCase()
str.toLocaleLowerCase()
str.toLocaleLowerCase(locale)
str.toLocaleLowerCase([locale, locale, ...])
  local:指明要转换成小写格式的特定语言区域。 如果以一个数组 Array 形式给出多个locales, 最合适的地区将被选出来应用.
  返回值:根据任何特定于语言环境的映射规则将被调用字符串转换成小写格式的一个新字符串。
  • String.prototype.toLocaleUpperCase()
  • String.prototype.toLowerCase()
str.toLowerCase()
返回值: 一个新的字符串,表示转换为小写的调用字符串。
  • String.prototype.toUpperCase()
  • String.prototype.toString()
  • String.prototype.trim()
str.trim()
返回值: 一个代表调用字符串两端去掉空白的新字符串.
  • String.prototype.trimRight()
  • String.prototype.trimStart()

💡提取字符串的一部分

  • String.prototype.slice()
str.slice(beginIndex[, endIndex])
  beginIndex(从该索引(以 0 为基数)处开始提取原字符串中的字符
        负数可看作 beginIndex+length )
  返回值: 返回一个从原字符串中提取出来的新字符串
  • String.prototype.split()
str.split([separator[, limit]])
  返回值:返回源字符串以分隔符出现位置分隔而成的一个 Array
  • String.prototype.substring()
str.substring(indexStart[, indexEnd])
  indexStart:需要截取的第一个字符的索引,该索引位置的字符作为返回的字符串的首字母。
  返回值: 包含给定字符串的指定部分的新字符串。

📢写在最后

  • 🍭给看到最后的人一个大拇哥🍭
  • 🌼🌼想要完全掌握String的用法还需理论+实践🌻🌻(本博一直有在牛客网刷算法题
  • 🎈🎈有错误的地方可以在评论区留言,本博会虚心改正的

相关文章
|
3月前
|
数据采集 Web App开发 JavaScript
Puppeteer的高级用法:如何在Node.js中实现复杂的Web Scraping
随着互联网的发展,网页数据抓取已成为数据分析和市场调研的关键手段。Puppeteer是一款由Google开发的无头浏览器工具,可在Node.js环境中模拟用户行为,高效抓取网页数据。本文将介绍如何利用Puppeteer的高级功能,通过设置代理IP、User-Agent和Cookies等技术,实现复杂的Web Scraping任务,并提供示例代码,展示如何使用亿牛云的爬虫代理来提高爬虫的成功率。通过合理配置这些参数,开发者可以有效规避目标网站的反爬机制,提升数据抓取效率。
243 4
Puppeteer的高级用法:如何在Node.js中实现复杂的Web Scraping
|
2月前
|
JavaScript 前端开发
JS try catch用法:异常处理
【10月更文挑战第12天】try/catch` 是 JavaScript 中非常重要的一个特性,它可以帮助我们更好地处理程序中的异常情况,提高程序的可靠性和稳定性。
20 1
|
2月前
|
JavaScript 前端开发
js的math.max的用法
js的math.max的用法
40 6
|
2月前
|
JavaScript
JS中的splice的三种用法(删除,替换,插入)
JS中的splice的三种用法(删除,替换,插入)
193 4
|
3月前
|
数据采集 存储 JavaScript
Puppeteer的高级用法:如何在Node.js中实现复杂的Web Scraping
在现代Web开发中,数据采集尤为重要,尤其在财经领域。本文以“东财股吧”为例,介绍如何使用Puppeteer结合代理IP技术进行高效的数据抓取。Puppeteer是一个强大的Node.js库,支持无头浏览器操作,适用于复杂的数据采集任务。通过设置代理IP、User-Agent及Cookies,可显著提升抓取成功率与效率,并以示例代码展示具体实现过程,为数据分析提供有力支持。
110 2
Puppeteer的高级用法:如何在Node.js中实现复杂的Web Scraping
|
3月前
|
JavaScript 前端开发
JavaScript用法
JavaScript用法
|
2月前
|
前端开发 JavaScript 开发者
深入理解JavaScript中的Promise:用法与最佳实践
【10月更文挑战第8天】深入理解JavaScript中的Promise:用法与最佳实践
62 0
|
3月前
|
JavaScript 前端开发 索引
JavaScript 数组中splice()的用法
本文介绍了JavaScript数组方法splice()的三种用法:删除元素、插入元素和替换元素,通过具体代码示例展示了如何使用splice()方法进行数组的修改操作。
|
4月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
|
4月前
|
缓存 JavaScript 前端开发
react.js高级用法
【8月更文挑战第27天】react.js高级用法
41 2