Как сортировать символы строки в алфавитном порядке?



для массива, есть довольно sort метод перестановки последовательности элементов. Я хочу добиться таких же результатов для строки.



например, у меня есть строка str = "String", Я хочу, чтобы отсортировать его в алфавитном порядке с помощью одного простого метода "ginrSt".



есть ли собственный способ включить это или я должен включать миксины из Enumerable?

591   4  

4 ответов:

The chars метод возвращает перечисление символов строки.

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

сортировать независимо от регистра:

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

также (просто для удовольствия)

str = "String"
str.chars.sort_by(&:downcase).join
#=> "ginrSt"
str.unpack("c*").sort.pack("c*")

вы можете преобразовать строку в массив для сортировки:

'string'.split('').sort.join

Comments

    Ничего не найдено.