假设我们有字符串'\342\200\231'
(与"\\342\\200\\231"
相同)。什么是将此字符串转换为"\342\200\231"
(与’
Unicode字符相同)的快速方法?如何在Ruby中转换字符串
回答
建议:
s.gsub(/\\(\d{3})/) { $1.oct.chr }
这取决于你可以让你输入什么假设。
+1这比我的回答要好得多。 –
谢谢,这比eval解决方案更安全。 – taro
您似乎在问的是如何将12个字符的字符串更改为三个字符的字符串。
'\342\200\231'
是12个字符长。
"\342\200\231"
是三个字符长;实际上是三个字节,但在Ruby 1.8中,它大致相同,因为字符串总是字节序列。
这里是一个EVIL回答你(你是说快),它的eval
优势,做你的“分析”:
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
对不起,EVAL!
我应该给一个更有帮助的答案... 编辑:别人做了。
谢谢!不喜欢评估,但这是很好的解决方案。 – taro
- 1. 转换哈希字符串在Ruby中
- 2. 如何在Ruby中将字符串的值从字符串转换为数组?
- 3. 如何在Ruby中将字符串列表转换为一个字符串?
- 4. 如何在Ruby中将空白字符串转换为CSV字符串?
- 5. 如何在Ruby中将字符串转换为常量?
- 6. 如何在Ruby 1.9中将哈希转换为JSON字符串?
- 7. 如何将字符串转换为Ruby中的字节?
- 8. 在Ruby中,如何替换字符串中的问号字符?
- 9. 如何将字符串转换为非字符串在matlab中
- 10. 如何将IO对象转换为Ruby中的字符串?
- 11. 如何将图像字符串转换为Ruby中的流
- 12. 如何将时间字符串转换为Ruby中的秒数
- 13. 字符串日期转换错误Ruby
- 14. 将字符串转换为DateTime Ruby
- 15. Ruby - 将Integer转换为字符串
- 16. Ruby将字符串转换为文件
- 17. Ruby - 将字符串转换为日期
- 18. 使用Ruby转换字符串
- 19. Ruby:将常量转换为字符串
- 20. Ruby将字符串转换为散列
- 21. Ruby字符串日期转换
- 22. 字符串转换为符号能够在Ruby中
- 23. 在Ruby中将0-F字符串转换为字节数组
- 24. Ruby将字符串数组转换为字符串
- 25. Ruby:如何转码utf-8字符串?
- 26. 转换字符串[字符串:任何]
- 27. Ruby - 如何在字符串中提取£符号以进行浮点型转换
- 28. 如何在Perl中转换字符串中的字符?
- 29. 如何转换为字符串在JavaScript
- 30. 如何转换字符串在C++
那么,你想将任何前导和尾随的单引号转换为双引号?或者所有的单引号加双引号? –
是实际字符串的'''部分吗?或者你是否试图将单引号字符串转换为双引号字符串(除了双引号字符串之外,它们都是相同的,允许插值等更多内容)? – birryree
不,报价不是字符串的一部分。如果你将两个字符串粘贴到irb中,你可以知道我需要什么。 – taro