No.1ベストアンサー
- 回答日時:
#こんな感じでどうでしょう
use encoding 'shiftjis';
@data=("いちご","リンゴ","サクランボ","みかん");
foreach $x (@data){
$data{$x}=&toKana($x);
}
@data=sort { $data{$a} cmp $data{$b} } keys %data;
sub toKana($){
my $str = shift;
$str =~ tr/ぁ-ん/ァ-ン/;
return $str;
}
No.2
- 回答日時:
ひらがな、かたかな、どちらかに変換した文字を先頭においてからソートしては?
ShiftJISであればですが、以下のように。
#!Perl
use ShiftJIS::String;
@kana_list = ('いちご', 'みかん', 'サクランボ', 'リンゴ');
print "1st state:\n", join("\n", @kana_list), "\n\n";
for (@kana_list) {
my $tmp = $_;
ShiftJIS::String::strtr(\$tmp, 'ぁ-ん', 'ァ-ン', 'o');
$_ = $tmp . "\t" . $_;
}
print "2nd state:\n", join("\n", @kana_list), "\n\n";
@kana_list = sort @kana_list;
print "3nd state:\n", join("\n", @kana_list), "\n\n";
$_ = (split(/\t/, $_))[1] for @kana_list;
print "4th state:\n", join("\n", @kana_list), "\n\n";
__END__
D:\@ai\@Perl\app>KANA_SORT.pl
1st state:
いちご
みかん
サクランボ
リンゴ
2nd state:
イチゴ いちご
ミカン みかん
サクランボ サクランボ
リンゴ リンゴ
3nd state:
イチゴ いちご
サクランボ サクランボ
ミカン みかん
リンゴ リンゴ
4th state:
いちご
サクランボ
みかん
リンゴ
D:\@ai\@Perl\app>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 心理学 連想の式と想起の式 1 2023/05/20 07:49
- 哲学 連想とは何か 2 2023/05/19 14:03
- Google Drive Googleスプレッドシートについて質問です。 今作っているデータで、 シート1→ベタ打ちでひたすら 2 2022/05/18 14:27
- その他(プログラミング・Web制作) AIによる詩作成 3 2023/06/28 11:12
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Excel(エクセル) 関数を教えてください。 2 2023/08/01 10:59
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) Excelで漢字人名が勝手に並び変わる(続) 4 2023/03/21 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
pythonでDBのカラム名で取得し...
-
matlabのソースコードをpython...
-
エクセルVBA:日付データの変換...
-
C言語の構造体にてバブルソート...
-
データの値の近いものをグルー...
-
printfの%eで指数部分の桁数を...
-
テキストファイルの結合について
-
パイソン、データーサイエンス...
-
POSTで配列のデータを渡す方法は?
-
基本クラスのポインタから、特...
-
オセロゲーム 2次元配列で困...
-
花の名前を教えて下さい。
-
途中経過も表示するプログラム
-
python 気象データの取得
-
UTF-8で5~6バイトになる文字コ...
-
COBOLのCOMP形式について
-
ビットスワップとバイトスワッ...
-
エクセルシート名の制限を変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
エクセルVBA:日付データの変換...
-
int型(2バイト)データの分割
-
c言語の多次元配列で1から100ま...
-
C#でのswitch文
-
【Excel VBA】10進数を2進数に...
-
途中経過も表示するプログラム
-
CreateProcessでの環境変数の設...
-
pythonでDBのカラム名で取得し...
-
C言語についてです! 同じ年の...
-
linuxのシェルでファイル名に先...
-
c言語 配列から数字だけをint型...
-
c言語での wavファイルの編集(...
-
matlabのソースコードをpython...
-
ビットデータのチェック方法
-
10個の実数に対する降順ソート...
-
python 気象データの取得
-
C言語の構造体にてバブルソート...
おすすめ情報