我们称一个字符序列为字符串。这是几乎所有编程语言中的基本类型之一。这里有10个关于JS字符串的很棒的技巧,你可能还不知道?
1。如何多次***一个字符串
JS字符串允许简单重复。与手工***字符串不同,我们可以使用字符串的repeat方法。
const laughing = '小智'.repeat(3)consol.log(laughing) // "小智小智小智"const eightBits = '1'.repeat(8)console.log(eightBits) // "11111111"
2。如何将字符串填充到指定长度
有时,我们希望一个字符串有一个特定的长度。如果字符串太短,需要填充剩余的空空格,直到达到指定的长度。
过去,主要使用库左-pad。然而,今天我们可以使用padStart和spaended方法,选择哪种方法取决于字符串是填充在字符串的开头还是结尾。
// 在开头添加 "0",直到字符串的长度为 8。const eightBits = '001'.padStart(8, '0')console.log(eightBits) // "00000001"//在末尾添加“ *”,直到字符串的长度为5。const anonymizedCode = "34".padEnd(5, "*")console.log(anonymizedCode) // "34***"
3。如何将一个字符串拆分成一个字符数组
有很多方法可以将一个字符串拆分成一个字符数组。我更喜欢使用扩展运算符(…):
const word = 'apple'const characters = [...word]console.log(characters) // ["a", "p", "p", "l", "e"]
注意,这并不总是像预期的那样工作。有关更多信息,请参阅下一篇技巧文章。
4。如何计算字符串中的字符
您可以使用长度属性。
const word = "apple";console.log(word.length) // 5
但对于中国人来说,这种方法并不靠谱。
const word = ""console.log(word.length) // 2
日本字符返回长度2。为什么?JS将大多数字符表示为16位代码点。但是,有些字符表示为两个(或更多)16位码位,称为代理对。如果使用了length属性,JS会告诉您使用了多少个码位。因此,(hokke)由两个码位组成,并返回错误的值。
那怎么判断?使用解构操作符号(…)
const word = ""const characters = [...word]console.log(characters.length) // 1
这种方法在大多数情况下是有效的,但也有一些极端的情况。比如你用表情符号,有时候这个长度也是不对的。如果真的要计算一个字符的正确长度,就必须把这个单词分解成个字素簇,这不在本文讨论范围之内,这里就不解释了。
5。如何反转字符串中的字符
很容易颠倒字符串中的字符。只需组合扩展运算符(…),Array.reverse方法和Array.join方法。
const word = "apple"const reversedWord = [...word].reverse().join("")console.log(reversedWord) // "elppa"
和以前一样,也有一些边缘情况。在edge的情况下,需要先将单词拆分成个语素簇。
6。如何将字符串中的第一个字母大写
一个非常常见的操作是将字符串的第一个字母大写。虽然很多编程语言都有本地的方式来实现这一点,但是JS需要做一些工作。
let word = 'apply'word = word[0].toUpperCase() + word.substr(1)console.log(word) // "Apple"
另一种方法:
// This shows an alternative waylet word = "apple";// 使用扩展运算符(`...`)拆分为字符const characters = [...word];characters[0] = characters[0].toUpperCase();word = characters.join("");console.log(word); // "Apple"
7。如何在多个分隔符上拆分字符串
假设我们要拆分分隔符上的字符串,首先想到的就是使用split方法,这是智米必须知道的。但是,有一点你可能不知道,split可以同时拆分多个分隔符,这可以通过使用正则表达式来实现:
// 用逗号(,)和分号(;)分开。const list = "apples,bananas;cherries"const fruits = list.split(/[,;]/)console.log(fruits); // ["apples", "bananas", "cherries"]
8。如何检查字符串是否包含特定序列
字符串搜索是一项常见的任务。在JS中,通过使用String.includes方法可以很容易地做到这一点。不需要正则表达式。
const text = "Hello, world! My name is Kai!"console.log(text.includes("Kai")); // true
9。如何检查一个字符串是以特定的序列开始还是结束
若要在字符串的开头或结尾进行搜索,可以使用String.startsWith和String.endsWith方法。
const text = "Hello, world! My name is Kai!"console.log(text.startsWith("Hello")); // trueconsole.log(text.endsWith("world")); // false
10。如何替换所有出现的字符串
有许多方法可以替换所有出现的字符串。您可以使用String.replace方法和带有全局标志的正则表达式。或者,您可以使用新的String.replaceAll方法。请注意,这个新方法并非在所有浏览器和Node.js版本中都可用。
const text = "I like apples. You like apples."console.log(text.replace(/apples/g, "bananas"));// "I like bananas. You like bananas."console.log(text.replaceAll("apples", "bananas"));// "I lik
摘要
字符串是几乎所有编程语言中最基本的数据类型之一。同时,它也是新开发人员最早学习的数据类型之一。然而,尤其是在JavaScript中,很多开发者并不知道一些关于字符串的有趣细节。希望这篇文章对你有帮助。
本文来自Total.不想长大投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/612373.html