よみがな あり|なし
Thursday,September 8
よみがな自動処理
前回
でも、解析
そのヤマのひとつ。
Mecabの形態素
ウェブで自然
今回
覚
「よみがな自動
そうなんです。
ウェブで使
UTF8はウェブで表記
UTF8は2バイト~最大
この3バイト文字
Perlをはじめプログラムは2バイト文字
これを解決
スタジオムーンリーフでは、「全角
そもそも、プログラムは2バイト文字
そこにUTF8の3バイト文字
お見
文字
長
sub Kana2Kana{
my($string)=@_;
$string=~ s/ア/あ/gm;
$string=~ s/イ/い/gm;
$string=~ s/ウ/う/gm;
$string=~ s/エ/え/gm;
$string=~ s/オ/お/gm;
$string=~ s/ァ/ぁ/gm;
$string=~ s/ィ/ぃ/gm;
$string=~ s/ゥ/ぅ/gm;
$string=~ s/ェ/ぇ/gm;
$string=~ s/ォ/ぉ/gm;
$string=~ s/カ/か/gm;
$string=~ s/キ/き/gm;
$string=~ s/ク/く/gm;
$string=~ s/ケ/け/gm;
$string=~ s/コ/こ/gm;
$string=~ s/ガ/が/gm;
$string=~ s/ギ/ぎ/gm;
$string=~ s/グ/ぐ/gm;
$string=~ s/ゲ/げ/gm;
$string=~ s/ゴ/ご/gm;
$string=~ s/サ/さ/gm;
$string=~ s/シ/し/gm;
$string=~ s/ス/す/gm;
$string=~ s/セ/せ/gm;
$string=~ s/ソ/そ/gm;
$string=~ s/ザ/ざ/gm;
$string=~ s/ジ/じ/gm;
$string=~ s/ズ/ず/gm;
$string=~ s/ゼ/ぜ/gm;
$string=~ s/ゾ/ぞ/gm;
$string=~ s/タ/た/gm;
$string=~ s/チ/ち/gm;
$string=~ s/ツ/つ/gm;
$string=~ s/テ/て/gm;
$string=~ s/ト/と/gm;
$string=~ s/ダ/だ/gm;
$string=~ s/ヂ/ぢ/gm;
$string=~ s/ヅ/づ/gm;
$string=~ s/デ/で/gm;
$string=~ s/ド/ど/gm;
$string=~ s/ッ/っ/gm;
$string=~ s/ナ/な/gm;
$string=~ s/ニ/に/gm;
$string=~ s/ヌ/ぬ/gm;
$string=~ s/ネ/ね/gm;
$string=~ s/ノ/の/gm;
$string=~ s/ハ/は/gm;
$string=~ s/ヒ/ひ/gm;
$string=~ s/フ/ふ/gm;
$string=~ s/ヘ/へ/gm;
$string=~ s/ホ/ほ/gm;
$string=~ s/バ/ば/gm;
$string=~ s/ビ/び/gm;
$string=~ s/ブ/ぶ/gm;
$string=~ s/ベ/べ/gm;
$string=~ s/ボ/ぼ/gm;
$string=~ s/パ/ぱ/gm;
$string=~ s/ピ/ぴ/gm;
$string=~ s/プ/ぷ/gm;
$string=~ s/ペ/ぺ/gm;
$string=~ s/ポ/ぽ/gm;
$string=~ s/マ/ま/gm;
$string=~ s/ミ/み/gm;
$string=~ s/ム/む/gm;
$string=~ s/メ/め/gm;
$string=~ s/モ/も/gm;
$string=~ s/ヤ/や/gm;
$string=~ s/ユ/ゆ/gm;
$string=~ s/ヨ/よ/gm;
$string=~ s/ャ/ゃ/gm;
$string=~ s/ュ/ゅ/gm;
$string=~ s/ョ/ょ/gm;
$string=~ s/ラ/ら/gm;
$string=~ s/リ/り/gm;
$string=~ s/ル/る/gm;
$string=~ s/レ/れ/gm;
$string=~ s/ロ/ろ/gm;
$string=~ s/ワ/わ/gm;
$string=~ s/ヲ/を/gm;
$string=~ s/ン/ん/gm;
return $string
}
コールする時
my $hiragana='';
my $katakana='アイウエオ';
$hiragana = &kana2kana($katakana);
print $hiragana;
結果
文字
mオプションは必要
もちろん、もっとスマートなコードはあると思
さしあたり1文字
コードをシンプルにしようと文字
$string=~ tr/アイウエオ/あいうえお/gm;
$string=~ tr/ア-ン/あ-ん/gm;
といったコーディングをすると、エラーというか予期
「アイウエオ」は3バイト文字
≫ NEXT_LOG よみがな自動
≪ PREV_LOG よみがな自動
スタジオムーンリーフ(2005年1月開設/Since 2005)
代表者:野口 卓洋(Takuhiro Noguchi)
Add:356-0006 埼玉県ふじみ野市霞ヶ丘3-1-22-504
Twitter:@StudioMoonLeaf
Facebook:facebook.com/noguchi.takuhiro
©2017 STUDIO MOON LEAF ALL RIGHTS RESERVED.