我想将我的 String 对象转换为其 1 大小的子字符串(不是字符)的 Enumerable,如何在 Ruby 中有效地做到这一点?
Dmitriy Matveev
问问题
343 次
3 回答
7
"xyzzy".split(//) => ["x", "y", "z", "z", "y"]
于 2009-02-19T02:42:43.057 回答
3
在 Ruby 1.9(和 1.8.7)中,您可以使用 each_char 可靠地迭代字符串的字符,包括正确处理多字节字符和其他内容。在早期版本中,each_char 不存在,索引将返回字节代码而不是单个字符字符串。在这种情况下,您可以使用
"abcdefg".split(//u)
这将以 UTF-8 感知方式拆分字符串。
这里有一些很好的讨论。
于 2009-02-19T03:01:36.740 回答
1
也许我不明白你的问题,但是Ruby中的一个字符和一个1字符的字符串没有区别。
'hello world'.each_char {|c| puts "substring is #{c}"}
于 2009-02-19T02:40:41.020 回答