-2

私は TD と TR の HTML フォーマットをフォーマットできないため (StackOverflow.com には自動 HTML フォーマッタがあり、TD と TR などの正確なコードを記述する際に問題が発生しているため)、提案されたテキストに対して次のフォーマットを検討してください。 :-

<tr>
   <td>FO Special Added (Comments, Part #, RFQ #) - 13, 13, 13</td>
</tr>
<tr>
   <td>FO Special Added (Comments, Part #, RFQ #) - 14, 14, 14</td>
</tr>

Session 変数から取り込まれている ArrayList があります:-
ArrayList ar3 = (ArrayList)Session["arr3"];

Session["arr3"] = "<tr> <td>FO Special Added (Comments, Part #, RFQ #) - 13, 13, 13</td> </tr><tr> <td>FO Special Added (Comments, Part #, RFQ #) - 14, 14, 14</td> </tr><tr> <td>FO Special Added (Comments, Part #, RFQ #) - 15, 15, 15</td> </tr> <td>FO Special Added (Comments, Part #, RFQ #) - 16, 16, 16</td> </tr>



私がしたいのは、この ArrayList(ar3) をフォーマットして、TR と TD の開始から始まり、TR と TD の終了で終了する個々のレコードを別の ArrayList (例: ResultArList) に含めることができるようにすることだけです。
この ResultArList は、電子メール リレーとプレーンテキスト ログ (DB で作成されたカスタム テーブル) で使用されます。

ResultArList には次のようなレコードが含まれている必要があります:-
ResultArList[0]=FO 特別追加 (コメント、部品番号、RFQ #) -
13、13、13 ResultArList[1]=FO 特別追加 (コメント、部品 #、RFQ #) - 14、14、14
ResultArList[2]=追加された FO 特別 (コメント、部品番号、RFQ #) -
15、15、15 ResultArList[3] = 特別追加された FO (コメント、部品番号、RFQ #) - 16、16、 16

ArrayList ar3 内のこれらの値の数は無限ですが、上記の HTML の形式は一定です。

ArrayList をカスタム フォーマットし、新しいフォーマット済み ArrayList を作成する方法を教えてください。

4

1 に答える 1

1

私があなたの質問を正しく理解していれば、正規表現を使用してタグの間にあるものをすべて抽出できます。例えば:

var regex = new System.Text.RegularExpressions.Regex(@"(?<=<td>).+?(?=</td>)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
var text = "<tr> <td>FO Special Added (Comments, Part #, RFQ #) - 13, 13, 13</td> </tr><tr> <td>FO Special Added (Comments, Part #, RFQ #) - 14, 14, 14</td> </tr><tr> <td>FO Special Added (Comments, Part #, RFQ #) - 15, 15, 15</td> </tr> <td>FO Special Added (Comments, Part #, RFQ #) - 16, 16, 16</td> </tr>";
var matches = regex.Matches(text);

var results = matches.Cast<Match>()
    .Select(match => match.Value)
    .ToList();
于 2013-01-31T22:27:59.513 に答える