2017-09-24 1 views
-3

J'ai une entrée de ce type, par exemple:Retirez le texte avant la barre par méthode replace()

Guerre Stellari/Star Wars (1977) 

la sortie doit être:

Star Wars (1977) 

comment puis-je obtenir l'aide de la remplacer la méthode?

+1

Pourquoi 'replace'? 'substring' est probablement plus facile dans cet exemple –

+0

@NickA Oui, mais je dois utiliser le remplacement – Felix

Répondre

3

Vous pouvez essayer ceci:

'Guerre Stellari/Star Wars (1977)'.replace(/.*?\/\s+/, '') 

Mais serait plus facile:

'Guerre Stellari/Star Wars (1977)'.split('/')[1] 

Plus fiable:

'Guerre Stellari/Good/Bad (1929)'.split('/').slice(1).join('/').trim() 
+0

Que se passe-t-il lorsque la chaîne est' Guerre Stellari/Good/Bad (1929) '? – Nisarg

+0

@NisargShah même: var x = 'Guerre Stellari/Star Wars (1977)'. Split ('/'), z = x [0]; w = x [1], y = x [2] –

+0

@Danil Vous avez corrigé le premier exemple, mais le second renvoie toujours la mauvaise réponse. – Nisarg

0

Vous pouvez le faire en utilisant la méthode substring.

var str = 'Guerre Stellari/Star Wars (1977)'; 
 

 
console.log(str.substring(str.indexOf('/') + 1).trim());

0

Essayez ceci: /[^/]+$/

Le^dans un groupe dit "correspondre toutes les chartes pas dans ce groupe". Donc, faites correspondre tous les caractères qui ne sont pas des barres obliques / jusqu'à la fin de la ligne $.

Voici une course sèche de /[^/]+$/ contre "Guerre Stellari/Star Wars (1977)" . https://regex101.com/r/bSzRr7/1