JavaScript 字符串方法
字符串方法 帮助您处理字符串。
字符串方法和属性
原始值,例如“John Doe”,不能具有属性或方法(因为它们不是对象)。
但是在 JavaScript 中,方法和属性也可用于原始值,因为 JavaScript 在执行方法和属性时将原始值视为对象。
JavaScript 字符串长度
这 length
属性返回字符串的长度:
提取字符串部分
提取字符串的一部分有三种方法:
slice(start, end)
substring(start, end)
substr(start, length)
JavaScript 字符串切片()
slice()
提取字符串的一部分并在新字符串中返回提取的部分。
该方法采用 2 个参数:起始位置和终止位置(不包括终止)。
笔记
JavaScript 从零开始计数位置。
第一位是 0。
第二个位置是 1。
如果参数为负数,则位置从字符串的末尾开始计算。
此示例切出字符串中从位置 -12 到位置 -6 的部分:
如果省略第二个参数,该方法将切掉字符串的其余部分:
或者从结尾算起:
JavaScript 字符串子串()
substring()
类似于slice()
.
不同之处在于,小于 0 的开始值和结束值在 substring()
.
如果省略第二个参数, substring()
将切掉字符串的剩余部分。
JavaScript 字符串 substr()
substr()
类似于slice()
.
不同之处在于第二个参数指定 长度 提取部分。
如果省略第二个参数, substr()
将切掉字符串的剩余部分。
如果第一个参数为负数,则位置从字符串的末尾开始算。
替换字符串内容
这 replace()
方法将字符串中的指定值替换为另一个值:
笔记
这 replace()
方法不会改变调用它的字符串。
这 replace()
方法返回一个新的字符串。
这 replace()
方法替换只有第一个 匹配
如果要替换所有匹配项,请使用设置了 /g 标志的正则表达式。请参阅下面的示例。
默认情况下, replace()
方法替换只有第一个 匹配:
默认情况下, replace()
方法区分大小写。写入 MICROSOFT(大写)将不起作用:
要替换不区分大小写,请使用 正则表达式 与/i
标志(不敏感):
笔记
正则表达式不需要引号。
要替换所有匹配项,请使用 正则表达式 和/g
标志(全局匹配):
笔记
您将在本章中学习更多有关正则表达式的知识 JavaScript 正则表达式.
转换为大写和小写
字符串转换为大写 toUpperCase()
:
字符串转换为小写 toLowerCase()
:
JavaScript 字符串 toUpperCase()
JavaScript 字符串 toLowerCase()
例子
让 text1 = "Hello World!"; // 字符串
let text2 = text1.toLowerCase(); // text2 是 text1 转换为小写后的文本
亲自尝试 »
JavaScript 字符串连接()
concat()
连接两个或多个字符串:
这 concat()
方法可以代替加法运算符。以下两行代码的作用相同:
例子
文本 = “你好” + “” + “世界!”;
text = "你好".concat(" ", "世界!");
笔记
所有字符串方法都会返回一个新字符串。它们不会修改原始字符串。
正式表示:
字符串是不可变的:字符串不能被改变,只能被替换。
JavaScript 字符串 trim()
这 trim()
方法删除字符串两侧的空格:
JavaScript 字符串填充
ECMAScript 2017 增加了两个 String 方法: padStart()
和padEnd()
支持在字符串开头和结尾进行填充。
JavaScript 字符串 padStart()
这 padStart()
方法用另一个字符串填充一个字符串:
笔记
这 padStart()
方法是一个字符串方法。
要填充数字,请先将数字转换为字符串。
请参阅下面的示例。
浏览器支持
padStart()
是 ECMAScript 2017 的一项功能。
所有现代浏览器都支持它:
铬合金 | 边缘 | 火狐 | 苹果浏览器 | 歌剧 |
是的 | 是的 | 是的 | 是的 | 是的 |
padStart()
Internet Explorer 不支持。
JavaScript 字符串 padEnd()
这 padEnd()
方法用另一个字符串填充一个字符串:
笔记
这 padEnd()
方法是一个字符串方法。
要填充数字,请先将数字转换为字符串。
请参阅下面的示例。
浏览器支持
padEnd()
是 ECMAScript 2017 的一项功能。
所有现代浏览器都支持它:
铬合金 | 边缘 | 火狐 | 苹果浏览器 | 歌剧 |
是的 | 是的 | 是的 | 是的 | 是的 |
padEnd()
Internet Explorer 不支持。
提取字符串字符
提取字符串字符的方法有3种:
charAt(position)
charCodeAt(position)
- 属性访问 [ ]
JavaScript 字符串 charAt()
这 charAt()
方法返回字符串中指定索引(位置)处的字符:
JavaScript 字符串 charCodeAt()
这 charCodeAt()
方法返回字符串中指定索引处字符的 unicode:
该方法返回一个 UTF-16 代码(0 到 65535 之间的整数)。
属性访问
ECMAScript 5(2009)允许对字符串进行属性访问[ ]:
笔记
物业访问可能有点 不可预料的:
- 它使字符串看起来像数组(但实际上不是)
- 如果未找到字符,[ ] 将返回未定义,而 charAt() 将返回空字符串。
- 它是只读的。str[0] =“A”没有错误(但不起作用!)
将字符串转换为数组
如果要将字符串作为数组使用,可以将其转换为数组。
JavaScript 字符串拆分()
字符串可以转换为数组 split()
方法:
如果省略分隔符,则返回的数组将包含索引 [0] 中的整个字符串。
如果分隔符是“”,则返回的数组将是单个字符的数组: