Étant donné une chaîne, voyons "rxrx", comment puis-je convertir la chaîne en "rXrX", en d'autres termes: le minuscule 'x' dans la chaîne dans le majuscule 'X' dans ruby? Merci d'avancecomment convertir une lettre donnée dans une chaîne de minuscules à majuscules en ruby
0
A
Répondre
4
Une façon:
"rxrx".gsub(/(x)/) { |s| s.upcase }
La seule raison pour laquelle je suggère cela au lieu de simplement la substitution normale (gsub("x", "X")
) est parce qu'il avait bien s'il y avait plus d'un personnage que vous vouliez faire en majuscules :
"rxbrx".gsub(/([xb])/) { |s| s.upcase }
+2
Tout comme #tr; "rxbrx" .tr ('xb', 'XB') – steenslag
6
La méthode "tr" de la classe String devrait fonctionner pour vous.
irb> "rxxr".tr('x', 'X')
irb> "rXXr"
Um ... Avez-vous essayé des expressions régulières? –
Pas besoin de regex. C'est précisément ce que «tr» est pour. –