"a b".split(/ /) => ["a", "b"]
str = "\t\t\n" p str.split(/\t/) # 末尾に\rがあるので空白要素もキープされる str.chomp! p str.split(/\t/) # chomp!により\nがなくなったので末尾の空白要素が削除される。 p str.split(/\t/,-1) # -1を指定すれば大丈夫。 => ["", "", "\n"] [] ["", "", ""]
sprintf("%03d", 7) => "007"
File.read('sjis.txt', :encoding => 'SJIS')
def jstring?(str) str.bytesize > str.size end
puts Encoding.default_external => Windows-31J puts Encoding.default_internal => nil str = "ハロー" puts str.encoding => UTF-8 puts str #= ハロー
def to_windows(str) str.encode("Windows-31J",:undef => :replace, :invalid => :replace, :replace => '_') end
#EUCに変換 euc = NKF.nkf('-exm0', str) #SJISに変換 sjis = NKF.nkf('-sxm0', str) #UTF-8に変換 utf8 = NKF.nkf('-wxm0', str) #UTF-16に変換 utf16 = NKF.nkf('-w16xm0', str)
オプションの意味
e/s/w/w16 | 出力をEUC/SJIS/UTF-8/UTF-16にする |
E/S/W/W16 | 入力をEUC/SJIS/UTF-8/UTF-16にする |
x/X | 半角カナ全角カナ変換を行わない/行う |
m0 | MIME encoded-word のデコードを行わない |
require 'erb' class Person def initialize(name) @name = name end attr_accessor :name end str = "hoge" person = Person.new('tanaka') template=<<__EOM__ value = <%= str %> value2 = <%= person.name %> __EOM__ erb = ERB.new(template) puts erb.result(binding) #以下が出力 value = hoge value2 = tanaka