对于数组,有一个非常好的方法来重新排列元素序列.我希望对字符串实现相同的结果.

例如,我有一个字符串str = "String",我想用一个简单的方法将它按字母顺序排序到"ginrSt".

有没有一种原生的方法来实现这一点,或者我应该包括来自Enumerable的mixin?

推荐答案

chars method返回字符串字符的枚举.

str.chars.sort.join
#=> "Sginrt"

要对 case 进行不敏感的排序:

str.chars.sort(&:casecmp).join
#=> "ginrSt"

Ruby相关问答推荐

清理 jruby 中输入数据的编码错误

如何用 yield_self 断链

获取字符串中的最后一个字符

Ruby 中有内置的二进制搜索吗?

如何关闭 Rails 3.1 上的自动样式表/javascript 生成?

如何通过 Rack 提供静态文件?

Ruby 中的 STDIN 和 $stdin 有什么区别?

退出(exit)和中止(abort)有什么区别?

进程的 pid、ppid、uid、euid、gid 和 egid 有什么区别?

Ruby 中的 Object 和 BasicObject 有什么区别?

如果尚未定义,则设置 Ruby 变量

Ruby 中的方法: objects与not?

如何引用全局变量和类变量?

为什么在 ruby​​ / rails / activerecord 中并不总是需要 self ?

如何在 Ruby 中取消定义类?

在 Ruby 脚本中解析命令行参数

Ruby 中的自然语言处理

检索/列出 Redis 数据库中的所有键/值对

从 'mm/dd/yyyy' 格式解析 ruby​​ DateTime

为什么 Ruby setter 需要self .班级内的资格?