"字符串"的整理和总结
创建字符串
使用 String
函数将其他值生成或转换成字符串:
String(thing):字符串字面量 (通过单引号或双引号定义) 和 直接调用 String 方法 (没有通过 new 生成字符串对象实例) 的字符串都是基本字符串。
new String(thing):创建对象形式的字符串;
当使用 eval
时,基本字符串和字符串对象也会产生不同的结果。eval
会将基本字符串作为源代码处理; 而字符串对象则被看作对象处理,返回对象。
String.fromCharCode(num1[, ...[, numN]]):返回由指定的 UTF-16 代码单元序列创建的字符串,而不是一个
String
对象。
String.fromCodePoint(num1[, ...[, numN]]):返回使用指定的代码点序列创建的字符串,而不是一个
String
对象。
String.raw(callSite, ...substitutions)/
String.raw`templateString`:给定模板字符串的原始字符串。
操作字符串
str.slice(beginIndex[, endIndex]):返回一个从原字符串中提取出来的新字符串;
str.substring(indexStart[, indexEnd]):包含给定字符串的指定部分的新字符串。
如果任一参数小于 0 或为 NaN
,则被当作 0。如果任一参数大于 stringName.length
,则被当作 stringName.length
。
str.replace(regexp|substr, newSubStr|function):一个部分或全部匹配由替代模式所取代的新的字符串。str.replaceAll(regexp|substr, newSubstr|function):返回一个新字符串,使用正则表达式搜索值时,它必须是全局的。
str.concat(str2, [, ...strN]):将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。强烈建议使用赋值操作符(
+
, +=
)代替 concat
方法。
str.repeat(count):包含指定字符串的指定数量副本的新字符串。
str.padEnd(targetLength [, padString]):用一个字符串填充当前字符串(如果需要的话则重复填充),返回填充后达到指定长度的字符串。从当前字符串的末尾(右侧)开始填充。如果targetLength这个数值小于当前字符串的长度,则返回当前字符串本身。str.padStart(targetLength [, padString]):从当前字符串的开头(左侧)开始填充。
str.match(regexp):检索返回一个字符串匹配正则表达式的结果。str.matchAll(regexp):返回一个包含所有匹配正则表达式的结果及分组捕获组的迭代器。
str.search(regexp):如果匹配成功,则 search()
返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1
。
str.indexOf(searchValue [, fromIndex]):查找的字符串 searchValue
的第一次出现的索引,如果没有找到,则返回 -1
。如果 fromIndex
的值小于 0
,或者大于 str.length
,那么查找分别从 0
和str.length
开始;如果searchValue
为空, fromIndex
值大于等于字符串的长度,将会直接返回字符串的长度。str.lastIndexOf(searchValue[, fromIndex])
:自右向左搜索;
str.includes(searchString[, position]):判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。
str.endsWith(searchString[, length]):length作为 str
的长度。默认值为 str.length
,如果传入的子字符串在搜索字符串的末尾则返回true
;否则将返回 false
。str.startsWith(searchString[, position]):如果在字符串的开头找到了给定的字符则返回true
;否则返回false
。
str.at(index):返回一个新的
String
,该字符串由位于指定偏移量处的单个 UTF-16 码元组成。该方法允许正整数和负整数。负整数从字符串中的最后一个字符开始倒数。如果找不到指定的索引,则返回 undefined
.
str.charAt(index):从一个字符串中返回指定的字符。如果没有提供索引,charAt() 将使用 0。如果指定的 index 值超出了该范围,则返回一个空字符串。
str.charCodeAt(index):指定
index
处字符的 UTF-16 代码单元值的一个数字;如果 index
超出范围,charCodeAt()
返回 NaN
。一个大于等于 0
,小于字符串长度的整数。如果不是一个数值,则默认为 0
。
str.codePointAt(pos):返回 一个 Unicode 编码点值的非负整数。如果在索引处没找到元素则返回
undefined
。
str.trim():一个代表调用字符串两端去掉空白的新字符串。
str.trimEnd()/str.trimRight()/str.trimStart()/str.trimLeft();:一个新字符串,表示从调用字串的末(右)/开(左)端除去空白。
referenceStr.localeCompare(compareString[, locales[, options]]):如果引用字符存在于比较字符之前则为负数; 如果引用字符存在于比较字符之后则为正数; 相等的时候返回 0 .
str.normalize([form]):按照指定的一种 Unicode 正规形式将当前字符串正规化(也就是字符串格式化)。
str.toLowerCase()
/str.toUpperCase():一个新的字符串,表示转换为小/大写的调用字符串。
str.toLocaleLowerCase([locale, locale, ...]):根据任何特定于语言环境的案例映射规则将被调用字串转换成小写格式的一个新字符串。类似str.toLocaleUpperCase([locale, locale, ...]);
str.toString():一个表示调用对象的字符串,返回
String
对象的原始值。和 String.prototype.valueOf()
方法返回值一样。
str.split([separator[, limit]]):返回源字符串以分隔符出现位置分隔而成的一个
Array
;