regex.replace()のC#複数パターン

.net c# regex
regex.replace()のC#複数パターン

regex.replace()パターンパラメーターに複数のパターンを渡すにはどうすればよいですか?

PHPでは、それらを含む配列を放棄するだけです。 C#には同じ種類のオプションがありますか?

私はいくつかのユーザー名をループしており、それらのユーザー名の一部はhtmlタグに囲まれています。 htmlタグはすべて同じではありません。 しかし、私は彼らがどれであるかを知っています。

したがって、regex.replace()パターンパラメーターで検索する複数のパターンを渡すことができる場合、いいでしょう。 または、各htmlタグに個別のパターンを作成し、regex.replace()関数を実行する必要があります。

私が達成しようとしていることについて明確になっていることを願っています!

前もって感謝します!

[EDIT] @Alan Moore,

要するに、文字列からすべてのhtmlタグを削除することが、私がやろうとしていることです。

{空} [/編集]

  1  1


ベストアンサー

// I’m assuming you have a regex for each thing you want to replace
List multiplePatterns = [...];

string result = Regex.Replace(input, string.Join("|", multiplePatterns), "");

7


正規表現の区切り文字 `|`を使用します。例:

||

5


文字列のリストがあり、それぞれがオプションでHTMLタグで囲まれたユーザー名のみで構成されていますか? どのタグであるかは問題ではありません。タグのような_looks_を削除します:

name = Regex.Replace(name, @"]*>", String.Empty);

2


パフォーマンスが重要で、ユーザー名に「<」または「>」のリスクがない場合、これは機能します。

string RemoveTags(string s)
        {
            int startIndex = s.IndexOf('<');
            int endIndex = s.IndexOf('>');
            return startIndex >= 0 && endIndex >= 0 ? RemoveTags(s.Remove(startIndex, endIndex - startIndex + 1)) : s;
        }

1


タイトルとURLをコピーしました