0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Perlで数字を漢数字に変換するプログラム

Posted at

入力テキストファイルの数字を漢数字に変換するプログラムを作りました。

文字コードに気を付けて環境に合わせて適時適応してください。

Lingua::JA::Numbersモジュールが必要です。

以下、Perlのコードです。

#!/usr/bin/perl

use utf8;
use strict;
use warnings;
use Encode;
use Lingua::JA::Numbers;

binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

# 読み込みモードでオープン
my $file = 'input.txt';
open my $fh, '<', $file
  or die qq/Can't open file "$file" : $!/;

# 書き込みモードでオープン
my $file_output = 'output.txt';
open my $fh_output, '>', $file_output
  or die qq/Can't open file "$file_output" : $!/;

my $line;
my $str;

while ($str = <$fh>) {
  $line .= $str;
}

my $enc = 'utf8';

# 数字は半角にそろえておく
$line =~ y/1234567890/1234567890/;
# 桁区切りのコンマを取っておく
$line =~ s/(?<=\d),(?=(\d\d\d)+(?!\d))//g;

$line =~ s/(\d+)/Encode::encode($enc,(num2ja($1, {style => 'kanji'})))/eg;

print Encode::decode('utf8',$line);

print $fh_output $line;

close $fh;

close $fh_output or die qw/Can't close file "$file": $!/;

入力テキストファイルはこちら。

input.txt
【ワシントン13日共同】米政府と連邦準備制度理事会(FRB)は13日夕、サブプライム住宅ローン問題の影響で業績が悪化している政府系住宅金融2社、連邦住宅抵当金庫(ファニーメイ)と連邦住宅貸付抵当公社(フレディマック)に対する緊急支援声明を発表した。両社の経営問題が世界の金融市場の重大関心事となっているため、危機回避へ日曜日の異例の支援表明になった。

 FRB声明によると、両社の短期的な資金繰りを支援するため、必要に応じてニューヨーク連邦準備銀行を通じて公定歩合で融資する。

 米メディアによると、フレディマックは資金調達のために3,000,000,000ドル(約320,000,000,000円)の債券発行を14日に控えており、経営不安説が高まる中で支障なく資金が集められるかが焦点になっている。

 両社の経営問題が前週末の米欧株価の下落を呼び、週明けの東京市場への波及が懸念されていたため、市場の沈静化を目的に異例の対応になったとみられる。

 米紙ウォールストリート・ジャーナル(電子版)によると、両社が保有・保証している住宅ローン関連の証券化商品は約5,200,000,000,000ドルと、米国の同証券化商品の半分近くを占める。

 一方、英紙サンデー・タイムズは13日付で、市場における両社の信用を回復させるため、米政府が最大で15,000,000,000ドルの資本注入を検討している、と伝えた。

 両社は、政府の住宅政策を担う重要な機関だが民間上場企業。報道内容が実現すれば、米政府が相当数の株式を保有することになる。

七面鳥
二面性
九死に一生スペシャル
52,000ペソ
七転八倒
9章3節
山田一二三

出力されるテキストはこちら。

output.txt
【ワシントン十三日共同】米政府と連邦準備制度理事会(FRB)は十三日夕、サブプライム住宅ローン問題の影響で業績が悪化している政府系住宅金融二社、連邦住宅抵当金庫(ファニーメイ)と連邦住宅貸付抵当公社(フレディマック)に対する緊急支援声明を発表した。両社の経営問題が世界の金融市場の重大関心事となっているため、危機回避へ日曜日の異例の支援表明になった。

 FRB声明によると、両社の短期的な資金繰りを支援するため、必要に応じてニューヨーク連邦準備銀行を通じて公定歩合で融資する。

 米メディアによると、フレディマックは資金調達のために三十億ドル(約三千二百億円)の債券発行を十四日に控えており、経営不安説が高まる中で支障なく資金が集められるかが焦点になっている。

 両社の経営問題が前週末の米欧株価の下落を呼び、週明けの東京市場への波及が懸念されていたため、市場の沈静化を目的に異例の対応になったとみられる。

 米紙ウォールストリート・ジャーナル(電子版)によると、両社が保有・保証している住宅ローン関連の証券化商品は約五兆二千億ドルと、米国の同証券化商品の半分近くを占める。

 一方、英紙サンデー・タイムズは十三日付で、市場における両社の信用を回復させるため、米政府が最大で百五十億ドルの資本注入を検討している、と伝えた。

 両社は、政府の住宅政策を担う重要な機関だが民間上場企業。報道内容が実現すれば、米政府が相当数の株式を保有することになる。

七面鳥
二面性
九死に一生スペシャル
五万二千ペソ
七転八倒
九章三節
山田一二三
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?