2008-05-09

Rubyで「データ整形」

試験データ作成に使えそうな
データ整形をメモっておきます。

◇zero suppress有り
例)10⇒0000000010

ソース
i = 10
zero_i = i.to_s.rjust(10,"0")
puts zero_i
puts "%010d " % i

※やり方は、2つ。どちらでもOK。

実行結果
0000000010
0000000010


◇固定長(半角空白埋め)
例)
「10」⇒「########10」
「10」⇒「10########」
※「#」は「空白」と読み替えてください。

ソース
i = 10
sol_i1 = i.to_s.rjust(10," ")
sol_i2 = i.to_s.ljust(10," ")
puts sol_i1
puts sol_i2
puts "% 10d" %i


実行結果
        10
10
10


◇半角から全角への変換

han2zen.rbのソース
require 'jcode'
s = ARGV[0]
puts s.tr('0-9A-Za-z-','0-9A-Za-zー')

端末から実行する。

$ruby -Ku han2zen.rb 1234567890abcdEFGH-

※windowsのsjisエンコードの場合は、ruby -Ks とする。


実行結果
1234567890abcdEFGHー

※全角に変換される。

[参考]
http://bbs.ddc.co.jp/mt/indesignbbs/archives/9507_20060709111700.html

0 件のコメント: