65 votes

Ruby - remplace la première occurrence d'une sous-chaîne par une autre chaîne

a = "foobarfoobarhmm"

Je veux la sortie comme `"fooBARfoobarhmm"

c'est-à-dire que seule la première occurrence de "bar" doit être remplacée par "BAR".

127voto

Yossi Points 4922

Utiliser #sub :

 a.sub('bar', "BAR")

16voto

tbuehlmann Points 2446

String#sub est ce dont vous avez besoin, comme Yossi l'a déjà dit. Mais j'utiliserais plutôt une expression régulière, car c'est plus rapide :

 a = 'foobarfoobarhmm'
output = a.sub(/foo/, 'BAR')

10voto

Nafaa Boutefer Points 87

pour remplacer la première occurrence, faites simplement ceci :

 str = "Hello World"
str['Hello'] = 'Goodbye'
# the result is 'Goodbye World'

vous pouvez même utiliser des expressions régulières :

 str = "I have 20 dollars"
str[/\d+/] = 500.to_s
# will give 'I have 500 dollars'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X