simple regex-remplacer underscore par un espace
Hey, j'écris ma première application sur Rails, et j'essaye de remplacer les underscores d'un nom d'id entrant par des espaces, comme ceci:
avant: test_string
après: chaîne de test
Comment puis-je faire cela? Désolé si c'est une question un peu stupide, je ne suis pas très familier avec les expressions régulières...
4 réponses
str.gsub!(/_/, ' ')
gsub
signifie 'Global substitution', et l'exclamation signifie qu'il va changer la chaîne elle-même plutôt que de simplement retourner la chaîne substituée.
vous pouvez aussi le faire sans regexes en utilisant String#tr!
:
str.tr!('_', ' ')
Sur les rails, vous pouvez utiliser le plus simple .humanize
et ruby est .downcase
méthode mais attention car elle supprime aussi toute chaîne finale '_id' (dans la plupart des cas c'est exactement ce dont vous avez besoin, même la première lettre en majuscules)
'text_string_id'.humanize.downcase
=> "text string"
Oups, j'ai effectivement eu de travail-juste oublié de mettre à jour le nom de la variable :P
j'ai été en utilisant ceci:
@id = params[:id]
@title = @id.gsub("_", " ")
utilisation de split et join in rails
"test_string".Split.)'_'(join (' ')