【发布时间】:2010-10-08 12:03:36
【问题描述】:
我想将我的 String 对象转换为它的 1 个大小的子字符串(不是字符)的 Enumerable,我怎样才能在 Ruby 中有效地做到这一点?
【问题讨论】:
我想将我的 String 对象转换为它的 1 个大小的子字符串(不是字符)的 Enumerable,我怎样才能在 Ruby 中有效地做到这一点?
【问题讨论】:
"xyzzy".split(//) => ["x", "y", "z", "z", "y"]
【讨论】:
在 Ruby 1.9(和 1.8.7)中,您可以使用 each_char 可靠地迭代字符串的字符,包括正确处理多字节字符和其他内容。在早期版本中,each_char 不存在,索引将返回字节代码而不是单个字符字符串。在这种情况下,您可以使用
"abcdefg".split(//u)
它将以可识别 UTF-8 的方式拆分字符串。
有一些很好的讨论here。
【讨论】:
也许我不明白你的问题,但是Ruby中一个字符和一个1字符的字符串没有区别。
'hello world'.each_char {|c| puts "substring is #{c}"}
【讨论】: