親子におすすめの新型プラネタリウムとは?

皆さん、教えてください。

perlで漢字を含む文字列(名前)のソートを行おうと思ったのですが、
perlはコードでのソートらしいので、実際には思うような結果が得られませんでした。

厳密にできなくてもかまわないので、ある程度正しいソートの方法を教えて頂けませんでしょうか。

もしくはライブラリなどあれば、教えて頂けませんでしょうか。

以上、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

既出。



「五十音の並べ替えsortを教えて下さい。」
http://oshiete1.goo.ne.jp/qa3417629.html

回答によると、
Lingua::JA::Sort::JIS モジュールで、国語辞典のようにソートできる
とのこと。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

今回は読みを用意できないので、そのために困っておりました。

お教え頂いたモジュールを利用したところ、ある程度はソートができました。

ですがいろいろと考えた結果、読みの用意できない場合には仕方ないということに致します。

モジュールは次回、利用しようと思います。

どうもありがとうございました。

お礼日時:2007/10/12 21:12

名前の読みでソートしたいということですか?


でしたら、あなたが読みのデータを用意しないことにはどうにもなりません。

例えば
渡部さんは、「わたべ」さんかもしれませんし、
「わたなべ」さんかもしれません。
これは漢字の字面だけ見ても判断できないことです。
逆に、「わたなべ」さんには
「渡辺」さん、「渡邉」さん、「渡邊」さん、
「渡鍋」さん…
とたくさんのバリエーションがあります。

逆にいえば読みが用意できればどうにかなります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

今回は読みを用意できないので、そのために困っておりました。

いろいろと考えた結果、読みの用意できない場合には仕方ないということに致します。

どうもありがとうございました。

お礼日時:2007/10/12 21:10

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q五十音の並べ替えsortを教えて下さい。

はう
ぱあ
ばい
↓sort
はう
ばい
ぱあ
五十音でsortして以下のようにする方法を教えて下さい。
ぱあ
ばい
はう
よろしくお願いします。

Aベストアンサー

国語辞典のようにソートしたければ Lingua::JA::Sort::JIS モジュールでできますよ。

# ソースコードのエンコーディングが Shift_JIS の場合

use strict;
use Lingua::JA::Sort::JIS;
use Encode qw/from_to/;

my $jis = Lingua::JA::Sort::JIS->new;

my @words = qw/はう ぱあ ばい/;
# UTF-8 バイト列に変換(必須)
map { from_to($_, "Shift_JIS" => "UTF-8") } @words;

for my $word ($jis->jsort(@words)) {
# 必要に応じてエンコーディングを変換
from_to($word, "UTF-8" => "Shift_JIS");
print $word, "\n";
}

エンコーディングの変換が面倒ですが、UTF-8 のファイルから読んでそのまま書き出せばもっとすっきりします。

参考URL:http://search.cpan.org/~sadahiro/Lingua-JA-Sort-JIS-0.05/JIS.pod

国語辞典のようにソートしたければ Lingua::JA::Sort::JIS モジュールでできますよ。

# ソースコードのエンコーディングが Shift_JIS の場合

use strict;
use Lingua::JA::Sort::JIS;
use Encode qw/from_to/;

my $jis = Lingua::JA::Sort::JIS->new;

my @words = qw/はう ぱあ ばい/;
# UTF-8 バイト列に変換(必須)
map { from_to($_, "Shift_JIS" => "UTF-8") } @words;

for my $word ($jis->jsort(@words)) {
# 必要に応じてエンコーディングを変換
from_to($word, "UTF-8" => ...続きを読む


人気Q&Aランキング