大学生がプログラマーを目指すはなし

ruby初心者の自分が忘れないためのレポート

gsub!を使いこなす

基本的な構文

html1 = "My name is ひかる"

html.gsub!("My name is", "私の名前は")

print html1

出力→私の名前はひかる

 

file.puts時などにダブルクオートをエスケイプしたいとき

html2 = " \"text\" text\\\"text\\\"text "

print html2

出力→"text" text\"text\"text 

このように

\"→"

\\\"→\"

となる。

 

まず、"→\"と置換してみる。

html2 = " \"text\" text\\\"text\\\"text "

 html2.gsub!('"', '\\"')

print html2

出力→\"text\" text\\"text\\"text 

 

\\"があるのでこれも\"にしたい。

なのでさらに置換する。

html2 = " \"text\" text\\\"text\\\"text "

html2.gsub!('"', '\\"')

html2.gsub!('\\\"', '\\"')

print html2

出力→\"text\" text\"text\"text 

 

これで綺麗にエスケイプされて出力できた。