0

我想将我的 String 对象转换为其 1 大小的子字符串(不是字符)的 Enumerable,如何在 Ruby 中有效地做到这一点?

4

3 回答 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 回答