Disons que nous avons la chaîne '\342\200\231'
(identique à "\\342\\200\\231"
). Quel est un moyen rapide de convertir cette chaîne en "\342\200\231"
(identique au caractère ’
Unicode)?Comment convertir la chaîne en Ruby
Répondre
Proposition:
s.gsub(/\\(\d{3})/) { $1.oct.chr }
Cela dépend de ce que vous pouvez faire des hypothèses au sujet de votre entrée.
+1 C'est beaucoup mieux que ma réponse. –
Merci, c'est plus sûr que la solution eval. – taro
Ce que vous semblez demander est de savoir comment changer une chaîne de 12 caractères en une chaîne de trois caractères.
'\342\200\231'
est de 12 caractères.
"\342\200\231"
est composé de trois caractères; en fait trois octets de long, mais dans Ruby 1.8 c'est à peu près la même chose puisque les chaînes sont de toute façon des suites d'octets.
Voici un EVIL réponse pour vous (vous avez dit rapide), qui profite de eval
pour faire votre « analyse syntaxique »:
irb(main):017:0> s = '\342\200\231'
=> "\\342\\200\\231"
irb(main):018:0> t = eval('"' + s + '"')
=> "\342\200\231"
irb(main):019:0> s.length
=> 12
irb(main):020:0> t.length
=> 3
Désolé pour le eval!
Je devrais probablement donner une réponse plus utile ... EDIT: Quelqu'un d'autre vient de le faire.
Merci! Je n'aime pas eval, mais c'est une solution agréable et courte. – taro
- 1. Ruby Convertir la chaîne en décimal
- 2. Comment faire pour convertir la chaîne en entier en Ruby
- 3. Comment faire pour convertir une chaîne en binaire en Ruby
- 4. Ruby Convertir une chaîne en fichier
- 5. Convertir une chaîne en hexadécimal dans Ruby
- 6. Ruby - convertir la chaîne à ce jour
- 7. Convertir la chaîne Base64 en entier dans Ruby
- 8. Comment convertir une chaîne Ruby avec des parenthèses en tableau?
- 9. chaîne Convertir nom variable Ruby
- 10. Ruby: comment convertir les unités de température en une chaîne?
- 11. Ruby - 'read': impossible de convertir la chaîne en entier
- 12. convertir php en ruby
- 13. ruby convertir le nom de classe en chaîne en classe
- 14. Ruby mappe JSON en Ruby Class -Can't convertir la chaîne en entier
- 15. Convertir un entier en une chaîne signée en Ruby
- 16. chaîne Convertir en fonction en ruby-on-rails
- 17. Convertir la chaîne en SecureString
- 18. Convertir la chaîne en DateTime?
- 19. Convertir la chaîne en double
- 20. comment convertir la chaîne russe en cyrillique?
- 21. comment convertir la chaîne en objet json?
- 22. comment convertir la chaîne en datetime
- 23. comment convertir la chaîne en entier
- 24. convertir le code Ruby à chaîne
- 25. Comment convertir Fixnum en Integer en ruby
- 26. convertir la chaîne en datetime
- 27. Convertir la chaîne en couleur
- 28. convertir la chaîne en double
- 29. convertir la chaîne en ConnectionStringSettings
- 30. convertir la chaîne en image
Donc, vous voulez convertir les guillemets simples avant et arrière en guillemets? Ou toutes les guillemets simples à doubles guillemets? –
La partie ''' de la chaîne actuelle? Ou essayez-vous de convertir une chaîne à guillemets simples en une chaîne à guillemets doubles (ils sont tous les deux la même chose, mis à part les chaînes à guillemets doubles qui permettent plus de choses comme l'interpolation)? – birryree
Non, la citation ne fait pas partie de la chaîne. Si vous collez les deux chaînes dans IRB, vous pouvez faire une idée de ce dont j'ai besoin. – taro