2011-08-01 3 views
0

C#で '<'と '>'の間の '\ n'をすべて削除する必要があります。C#で '<' and '>'とregexpとの間の ' n'をすべて削除します

Regex.Replace(text, "(<[^<>)]*)\\n+([^><]*>$)", "\1\2"); 

しかし、それは明らかに動作しません:

私のコードは以下の通りです。助言がありますか?

例:

< style=" 



"> 

詳細な例:

<td colspan="3" rowspan="2"> 
     <table cellpadding="0" cellspacing="0" class="a10" cols="13" id="t_5" lang="en-AU"> 
     <tr id="t_5_FNHR"> 
     <td class="a26" style="HEIGHT:5.00mm"> 
     <div class="r11">LAKOTA - PINK PANTHER RETURNS-V</div> 
     </td> 
     <td class="a27" style=" 



"> 
     <div class="r11">5c</div> 
     </td> 

別:

<td class="a34" style=" 



"> 
      <div class="r11">7,390.62</div> 
      </td> 
      <td class="a35" style=" 



"> 
      <div class="r11">617.81</div> 
      </td> 
      <td class="a36" style=" 



"> 
+8

うわー、改行はすべての場所であり、地球上で何をしているの? :/ – BoltClock

+0

あなたはいつもこれを行う必要がありますか?それとも一度ですか? –

+0

は正規表現の中で最初に近いparenですか? –

答えて

4

容易しかし明らかに脆い方法は、次のアングルブラケットであり、すべての改行を削除することであろうa >

Regex.Replace(text, @"[\r\n]+(?=[^<>]*>)", ""); 

説明:

[\r\n]+ # Match one or more CR or LF characters 
(?=  # if the following can be matched at the current position: 
[^<>]* # any number of characters except angle brackets 
>  # and one closing angle bracket 
)  # (End of lookahead). 

あなたのケースのために十分良いでしょう(そうでない場合、正規表現は、おそらく、とにかく右のツールではありません)。

+0

これはほとんど動作します!しかし、それは2つの改行を削除し、まだ< and >の間に1つの改行を残しました。私はそれが<何か新しい行>であることを願っています。 – laogoat

+0

5c
laogoat

+0

は、私がここにファイルを添付することができますか? – laogoat

関連する問題