0

連続する引用符を削除するには、正規表現または何らかの方法が必要です。

例: 「「私は」引用符の中にいます」から「私は引用符の中にいます」

または、「引用符で囲まれています」から「引用符で囲まれています」。

正規表現についてはよくわかりません。replace メソッドも使用してみましたが、エスケープするのに問題があります。

私はこれを実験してきました:

static void Main(string[] args)
        {
            string pattern = @"^\s*""?|""?\s*$";
            string input = Console.ReadLine();

            Console.WriteLine(Regex.Replace(input, pattern, string.Empty));
            Console.ReadKey();
        }
4

2 に答える 2

0

最初にそれらを一緒にSplitすることができます:"Join

var result = string.Format("\"{0}\"", string.Join("", x.Split('"')));

たとえば、あなたの入力:

""I am in" a quote""

Splitwithを使用すると、もう"含まれていない文字列のリストが得られます。"次にJoinwithを使用すると""、 の代わりに空の文字列でそれらを再び結合することを意味します"

"最初の結果にはat first と lastがありません。最初と最後string.Formatに加算"して最終結果を取得するために使用します。

ReplaceandPadLeftと andを使用する別の簡単なアプローチPadRight

 string output = input.Replace("\"", string.Empty)
                      .PadLeft(1, '"')
                      .PadRight(1, '"');
于 2013-08-04T06:19:13.470 に答える
-2

ねえ、私は自分が働いている場所で常に正規表現を使用していますが、この正規表現がその仕事をしてくれると思います。

 .*?(")".*?

その後、引っ張ったり交換したりできます。

于 2013-08-04T06:20:53.073 に答える