以下の様な文字列を
<div>xxx</div>yy<span>zzz</span>
以下の様に編集したいです。
<div>xxx</div>
yy
<span>zzz</span>
htmlのタグ毎に改行を挿入したいのです。
もしも上記例でyyがなければ以下の様に書くのですが、
require 'drb/drb'
puts DATA.read.scan(/(<.+?>.+?<\/.+?>)/).join("\n")
__END__
<div>xxx</div>yy<span>zzz</span>
以上、よろしくご指導の程、お願い申し上げます。
No.2ベストアンサー
- 回答日時:
最近マニュアルを見ていたら、splitでこのようなことができる事に気づきました。
こんなのはどうですか。
puts DATA.read.chomp.split(/(<.+?>.+?<\/.+?>)/).reject{|a| a==""}.join("\n")
もう少し縮めて
puts DATA.read.chomp.split(/(<.+?>.+?<\/.+?>)/).reject{|a| a==""}
もできるみたいです。
もうひとつおまけですが、\を使うのがいやな場合は
puts DATA.read.chomp.split(%r[(<.+?>.+?</.+?>)]).reject{|a| a==""}
のような書き方も
No.1
- 回答日時:
scan部分を
split(/(<.+?>.+?<\/.+?>)/)
にします。()で囲むのがミソです。
この回答への補足
ki073さん、ご回答有り難うございます。
なるほど!! 素晴らしい!! 頭イイ!!
しかし、一行目と最終行に空行が入っちゃいますね。
最終行はchompを加えれば消えますが一行目を消そうと思い、以下の様に書いてみました。
puts DATA.read.chomp.split(/(<.+?>.+?<\/.+?>)/).inject([]){|array,i|
array<<i if i!='';
array
}.join("\n")
なんか、仰々しくなってしまいました。。。 もう少しスマートな方法とかないでしょうか??
ライブラリを使った解でもかまいません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- HTML・CSS HTMLで特定の文字だけ色を変えたいのですが、指定した色と違う色が反映してしまいます。 下記、「前」 5 2023/06/27 12:08
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASP.NETでプレーンなページに文...
-
VBAでの素数の求め方
-
検索結果がツリー状に表示され...
-
Excel VBAでのIE操作でクリック...
-
htmlの文字が縦書きになる
-
質問1.
-
タグは大文字と小文字どちらが...
-
画像の場合のみ、下線を消す方...
-
Macで画像の切り抜きできないの?
-
CSSがなぜかfont-sizeだけ効か...
-
リストの並べ替え
-
table で画像をピッタリとくっ...
-
ボタンを横に並べて表示させる方法
-
div要素が重なってします
-
親要素・子要素
-
HTML属性での「""」 「''」違い
-
CSSでボックスのheightが0になる
-
HRタグ 枠線を透明にするには?
-
HTMLは、シングルクォートかダ...
-
<ul><li></li></ul>にするメリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
pythonでのカーソル移動がずれる
-
ASP.NETでプレーンなページに文...
-
safariで見るとページ上部に余...
-
Excel VBAでのIE操作でクリック...
-
検索結果がツリー状に表示され...
-
cnt <= (others => '0'); の意...
-
VBA : QueryTableでのスクレイ...
-
質問です。 新規登録ボタンが全...
-
入れ子になっているhtmlのXPath...
-
プログラマーの方に質問です。 ...
-
VBAでの素数の求め方
-
DIVの入れ子で、FireFoxだとレ...
-
行頭から全角で3文字位さげた...
-
css リンクの色が全部変わって...
-
CSSで、何故か、「float」が上...
-
秀丸で複数行コメントアウトを...
-
chromedriverのver-upで動作不...
-
背景が動くWEBページの作り方に...
-
同じIE8なのに機種によってmarg...
-
HTMLの出力で改行をさせない方...
おすすめ情報