Is there a method to sort a list an array of words alphabetically (natural order sorting)

125 ビュー (過去 30 日間)
vish
vish 2011 年 2 月 6 日
編集済み: DGM 2023 年 3 月 9 日
Hi, I was wondering if there is any method to sort the words alphabetically. I know how it can be done in Java, but I assusme Matlab should be having a quicker and compact method.
Cheers, Vish

採用された回答

David Young
David Young 2011 年 2 月 6 日
>> sort({'gamma', 'delta', 'alpha', 'beta'})
ans =
'alpha' 'beta' 'delta' 'gamma'

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 2 月 6 日
There is no single "natural order" for sorting. The rules for sorting alphabetically depend upon language and region. Especially if the language has accents or other diacritical marks.
If you were to specify exactly which characters you wish to deal with and the exact sorting order, someone might be able to assist you.
There is no Mathworks provided function that uses the LOCALE information to determine how to sort, and there is no Mathworks provided "dictionary sort" routine even just for English.
  6 件のコメント
Walter Roberson
Walter Roberson 2011 年 2 月 6 日
移動済み: DGM 2023 年 3 月 9 日
"Expert", definition: someone who tells you all the ways that something cannot be done.
Marie Trang
Marie Trang 2023 年 3 月 9 日
移動済み: DGM 2023 年 3 月 9 日
I know this is an older thread, but to help anyone looking at this, I used the sortrows() command for my 7x7 character array and it worked fine to organize them alphabetically in terms of the english alphabet. I found that sort() works to organize cell arrays of strings or characters alphabetically, so it's up to you whether to use sortrows() or sort() based on if you're working with a string/character array or a cell array of strings/characters. Hope this helps!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

タグ

タグが未入力です。

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by