La chaîne initiale :initString = '/digital/collection/music/bunch/of/other/stuff'
Ce que je veux :music
- Plus précisément, je veux tout terme (qui n'inclura jamais de barre oblique) qui viendrait entre
collection/
y/bunch
Comment je procède :
if(initString.includes('/digital/collection/')){
let slicedString = initString.slice(19); //results in 'music/bunch/of/other/stuff'
let indexOfSlash = slicedString.indexOf('/'); //results, in this case, to 5
let desiredString = slicedString.slice(0, indexOfSlash); //results in 'music'
}
Question :
Comment diable puis-je accomplir cela en javascript d'une manière plus élégante ?
- J'ai cherché quelque chose comme un
endIndexOf()
qui remplacerait mon code dur.slice(19)
-
lastIndexOf()
n'est pas ce que je recherche, car je veux l'index à la fin de la première instance de ma sous-chaîne/digital/collection/
-
- Je cherche à réduire le nombre de lignes, et je n'ai rien trouvé qui ressemble à un
.getStringBetween('beginCutoff, endCutoff')
Merci d'avance !