如何在 JavaScript 中获取两个相同字符之间的子字符串?

Dra*_*gon 1 javascript

我有一个字符串值作为abc:language-letters-alphs/EnglishData:7844val:. 我想提取部分language-letters-alphs/EnglishData,即 first:和 second之间的值:。有没有办法在不将每个子字符串存储在不同的变量上的情况下做到这一点?我想用 ES6 的方式来做。

Dor*_*Ron 5

const str = "abc:language-letters-alphs/EnglishData:7844val:"
const relevantPart = str.split(':')[1]
Run Code Online (Sandbox Code Playgroud)


Alw*_*ing 5

您可以通过两种方式轻松完成此操作。您可以选择最适合您的方式。

使用字符串#split

使用 split 方法来获取您想要的文本。

split()方法将一个字符串划分为一个有序的子字符串列表,将这些子字符串放入一个数组中,并返回该数组。除法是通过搜索模式来完成的;其中模式作为方法调用中的第一个参数提供。

let str = 'abc:language-letters-alphs/EnglishData:7844val:'.split(':')

console.log(str[1]) //language-letters-alphs/EnglishData
Run Code Online (Sandbox Code Playgroud)

使用字符串#slice

您可以使用 [ 方法,但您已经定义了indexes要提取的单词的确切含义。

slice()方法提取字符串的一部分并将其作为新字符串返回,而不修改原始字符串

let str = 'abc:language-letters-alphs/EnglishData:7844val:'

console.log(str.slice(4, 38)) //language-letters-alphs/EnglishData
Run Code Online (Sandbox Code Playgroud)