1

- のような空白や文字を無視して、文字列 1 で見つかった場合、一致する部分文字列を削除する必要があります。

私が持っている例は次のとおりです。

string 1="The LawyerWhat happened to A&O's first female partner?The LawyerWhen Clare Maurice was made up at Allen & Overy (A&O) in 1985 she was the sole female partner at the firm. Twenty-five years later, gradual change in the";

文字列 1 の下の文字列 2 を一致させ、文字列 1 から削除する必要があります。

string 2="What happened to A&O's first female partner? - The Lawyer";

どうもありがとう

4

3 に答える 3

2

これはあなたの例でうまくいくように見えますが、もっとテストする必要があります。余分なスペースと「-」文字が削除された同じパターンに従うことを常に期待していると思います。

// renamed your variables: 1 is "input", 2 is "replaceValue"
string pattern = Regex.Replace(replaceValue.Replace("-", ""), @"\s{2,}", "");
pattern = Regex.Escape(pattern);
string result = Regex.Replace(input, pattern, "");
于 2010-01-18T17:29:02.180 に答える
1

これはおそらく最善の方法ではありませんが、次のようにします。

// I renamed the strings to source and pattern because 1 and 2 wouldn't be very clear
string result = Regex.Replace(source, Regex.Escape(pattern).Replace(" ", "[\s]*?"));
// Google shows we have an option such as
string result = Regex.Replace(source, Regex.Escape(pattern), RegexOptions.IgnoreWhiteSpace)

;

「-」文字を無視するかどうかはわかりません。「Regex Buddy」を試してみてください。正規表現を書くのにめちゃくちゃ役立ちます。「パターンを C# 正規表現としてコピー」オプションもあります。

于 2010-01-18T16:16:47.180 に答える
-1

これでうまくいくはずです:

1 = 1.Replace(2, string.Empty);

于 2010-01-18T16:09:55.867 に答える