Perlコーディング初心 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
953:nobodyさん 08/02/21 00:49:43 それのどこがWeb Programmingなんだ? 954:nobodyさん 08/02/21 02:07:00 JISコードは加工には向かないので、Encode::JP::Mobileあたり使って いったんutf8文字列にしてから加工して戻す方がたぶん見通しいいよ。 955:952 08/02/21 03:31:08 >>954 ありがとうございます。そちらの方で検討させていただきます。 このような複雑な置換について私は苦手でして、もしこれがお分かりになられるなら後学のためにも教えていただきたいのですが、ご無理でしょうか? 956:nobodyさん 08/02/21 10:36:05 マッチした文字列の前後は$esc_inで囲って マッチした文字列はルールに沿って変換 ってことかな? 957:nobodyさん 08/02/21 10:36:46 ×$esc_inで囲って ○$esc_inと$esc_outで囲って 958:nobodyさん 08/02/21 10:39:56 無理に書くとこんな感じ? 全くお勧めしない。 # 絵文字部分を1文字ずつ加工。 # 1バイトずれてマッチしたり、ascii部分にマッチしないようにしてるので面倒 $str =~ s{ ( (?:\G | ^[^\1b]*\x1b\x24\x42) (?:[^\x1b]{2}|\x1b\x28\x42[^\x1b]*\x1b\x24\x42)*? ) ([\x75-\x7b])([\x21-\x7e]) }{ sprintf "%s\x1b\x28\x42[%02x%02x]\x1b\x24\x42", $1, ord($2), ord($3) }gex; # 冗長なエスケープシーケンスの並びを除去 $str =~ s/(\x1b\x24\x42)+/$1/g; $str =~ s/(\x1b\x28\x42)+/$1/g; $str =~ s/\x1b\x28\x42\x1b\x24\x42//g; $str =~ s/\x1b\x24\x42\x1b\x28\x42//g;
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4919日前に更新/271 KB
担当:undef