我有一个带有多个分隔符的字符串,我想用找到的第一个分隔符来拆分它。我找不到任何方法来做到这一点,我尝试的每个方法都会返回最后一个分隔符之后找到的所有字符,或者返回找到的前两个分隔符之间的字符。如何获取第一个分隔符之后的所有字符?如有任何帮助,我们将不胜感激。提前谢谢。
x = 'aa-bb-cc-dd'
console.log(x.split('-')[1]) // returns bb expected bb-cc-dd
console.log(x.split('-').pop()) // returns dd expected bb-cc-dd
console.log(x.split('-')[1].pop()) // something like this but obviously this wont work
发布于 2021-11-17 22:06:45
您可以将String#indexOf
与String#slice
一起使用,如下所示:
x = 'aa-bb-cc-dd'
console.log(x.slice(x.indexOf('-')+1)) // returns bb-cc-dd
发布于 2021-11-17 22:06:23
使用slice而不是split,然后创建一个返回期望值的函数怎么样?
function splitting (str) {
return str.slice(str.indexOf('-') + 1)
}
const r1 = splitting('aa-bb-cc-dd') // bb-cc-dd
const r2 = splitting(r1) // cc-dd
const r3 = splitting(r2) // dd
console.log(r1)
console.log(r2)
console.log(r3)
发布于 2021-11-17 22:14:20
一种方法:
x = 'aa-bb-cc-dd'
function splitOnFirstDelimiter (str, del) {
const index = str.indexOf(del);
return index < 0 ? str : str.slice(index + del.length);
}
console.log(splitOnFirstDelimiter(x, '-'))
https://stackoverflow.com/questions/70012095
复制相似问题