dポイントプレゼントキャンペーン実施中!

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

A 回答 (2件)

国語辞典のようにソートしたければ 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- …
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考http://search.cpan.org/src/SADAHIRO/Lingua-JA-So …
#awk版
function aiu(moji1){
out1=moji1;
sub(/[あぁアァアァ]/ ,"あ",out1);
sub(/[かがカガヵカガ]/ ,"か",out1);
sub(/[さざサザサザ]/ ,"さ",out1);
sub(/[ただタダタダ]/ ,"た",out1);
sub(/[なナナ]/ ,"な",out1);
sub(/[はばぱハバパハバパ]/ ,"は",out1);
sub(/[まママ]/ ,"ま",out1);
sub(/[やゃヤャヤャ]/ ,"や",out1);
sub(/[らララ]/ ,"ら",out1);
sub(/[わゎワヮワ]/ ,"わ",out1);
sub(/[いぃイィイィ]/ ,"い",out1);
sub(/[きぎキギキギ]/ ,"き",out1);
sub(/[しじシジシジ]/ ,"し",out1);
sub(/[ちぢチヂチヂ]/ ,"ち",out1);
sub(/[にニニ]/ ,"に",out1);
sub(/[ひびぴヒビピヒビピ]/ ,"ひ",out1);
sub(/[みミミ]/ ,"み",out1);
sub(/[りリリ]/ ,"り",out1);
sub(/[ゐヰ]/ ,"ゐ",out1);
sub(/[うぅウヴゥウヴゥ]/ ,"う",out1);
sub(/[くぐクグクグ]/ ,"く",out1);
sub(/[すずスズスズ]/ ,"す",out1);
sub(/[つづっツヅッツヅッ]/ ,"つ",out1);
sub(/[ぬヌヌ]/ ,"ぬ",out1);
sub(/[ふぶぷフブプフブプ]/ ,"ふ",out1);
sub(/[むムム]/ ,"む",out1);
sub(/[ゆゅユュユュ]/ ,"ゆ",out1);
sub(/[るルル]/ ,"る",out1);
sub(/[えぇエェエェ]/ ,"え",out1);
sub(/[けげケゲヶケゲ]/ ,"け",out1);
sub(/[せぜセゼセゼ]/ ,"せ",out1);
sub(/[てでテデテデ]/ ,"て",out1);
sub(/[ねネネ]/ ,"ね",out1);
sub(/[へべぺヘベペヘベペ]/ ,"へ",out1);
sub(/[めメメ]/ ,"め",out1);
sub(/[れレレ]/ ,"れ",out1);
sub(/[ゑヱ]/ ,"ゑ",out1);
sub(/[おぉオォオォ]/ ,"お",out1);
sub(/[こごコゴコゴ]/ ,"こ",out1);
sub(/[そぞソゾソゾ]/ ,"そ",out1);
sub(/[とどトドトド]/ ,"と",out1);
sub(/[のノノ]/ ,"の",out1);
sub(/[ほぼぽホボポホボポ]/ ,"ほ",out1);
sub(/[もモモ]/ ,"も",out1);
sub(/[よょヨョヨョ]/ ,"よ",out1);
sub(/[ろロロ]/ ,"ろ",out1);
sub(/[をヲヲ]/ ,"を",out1);
sub(/[んンン]/ ,"ん",out1);
return out1}

お礼日時:2008/01/19 20:26

もうすこしはっきりと要件を書くべきです。


濁音や半濁音は「同じ」と見做してソートしたいということですか?
    • good
    • 0
この回答へのお礼 お礼日時:2008/01/19 21:06

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