1

C# と RegEx を使用して文字列から特定の値を簡単に削除する方法を知りたいです。次の HTML 文字列があります。

Add [tt]PEELED PLUM SHAPED TOMATOES in tomato juice[/tt][rg]WHOLE PEELED TOMATOES[/rg][rp]WHOLE   PEELED TOMATOES in JUICE[/rp], basil, oregano, parsley, salt, black pepper, sugar, [tt]TOMATO SAUCE[/tt][rg]TOMATO SAUCE[/rg][rp]TOMATO SAUCE[/rp], [brand][rg]TOMATO PASTE[/rg][rp]TOMATO PASTE[/rp]

この部分などを除外する方法が必要です。

[tt]PEELED PLUM SHAPED TOMATOES in tomato juice[/tt]

したがって、[tt] タグとその間のテキストを削除する必要があります。[tt] タグがソース文字列内で複数回出現する場合は、それも削除する必要があります。

RegExを使用してこれを実行できますか?

ありがとう、ダニエル

4

1 に答える 1

1

はい。[tt]タグがネストされていない限り、簡単です。

result = Regex.Replace(subject, @"\[tt\].*?\[/tt\]", "", RegexOptions.Singleline);

ネストされたタグが予想される場合は、[tt]ネストのレベルごとに 1 回、次のコマンドを繰り返し適用する必要があります。

result = Regex.Replace(subject, @"\[tt\](?:(?!\[/?tt\]).)*\[/tt\]", "", RegexOptions.Singleline);
于 2012-12-20T09:40:38.580 に答える