web-dev-qa-db-fra.com

Comment retourner une partie de chaîne avant un certain caractère?

Si vous regardez le jsfiddle de question ,

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

Cela retourne tous les caractères après le :, comment puis-je régler cela pour retourner tous les caractères avant le :

quelque chose comme var str_sub = str.substr(str.lastIndexOf(":")+1); mais cela ne fonctionne pas.

32
Smudger

Et notez que le premier argument de subString est 0 basé tandis que le second est un.

Exemple:

String str= "0123456";
String sbstr= str.substring(0,5);

La sortie sera sbstr= 01234 et non sbstr = 012345

4
swapnil_nerd

En général, une fonction pour renvoyer une chaîne après une sous-chaîne est 

function getStringAfterSubstring(parentString, substring) {
    return parentString.substring(parentString.indexOf(substring) + substring.length)
}

function getStringBeforeSubstring(parentString, substring) {
    return parentString.substring(0, parentString.indexOf(substring))
}
console.log(getStringAfterSubstring('abcxyz123uvw', '123'))
console.log(getStringBeforeSubstring('abcxyz123uvw', '123'))

0
best wishes