正規表現の置換の質問です

<12>
<ab>
<cd>
<ef>
という文章があるのですが
それを
<12><ab>
<cd><ef>
というように<cd>の前だけ改行置換しないようにしたいのですが、どのようなコードを書けばいいでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/03/19 14:35:04

回答2件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

一括で 改行を置換してそのあとに <cd>の時だけの改行を入れて置換処理をしたらいかがでしょうか?

または 最初に 改行<cd>を 別のものに置換後、一括で改行置換してから
改行<cd>に戻すというのは どうでしょうか?

id:takanii

この条件以外を改行するというのはできないのでしょうか?

2013/03/12 15:18:48
id:windofjuly No.2

回答回数2625ベストアンサー獲得回数1149

一例。
VBScript で a.txt を読み込んで b.txt に出力

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("a.txt")
oldText = objFile.ReadAll

' オブジェクトの準備とパラメータ設定
Set objRep = New RegExp
objRep.Multiline = True
objRep.Global = True

' 置換条件の設定と置換実行
objRep.Pattern = "(?!\r*\n<cd>)\r*\n"
repText = ""
newText = objRep.replace(oldText, repText)

objFile.Close
Set objFile = objFSO.CreateTextFile("b.txt")
objFile.WriteLine (newText)
objFile.Close

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません