0

C#を使用すると、string.contains()メソッドのように文字列チェックを実行できます。例:

string test = "Microsoft";
if (test.Contains("i"))
    test = test.Replace("i","a");

これで結構です。しかし、置換する「記号」を含む文字列を置換したい場合はどうなりますか。

私はこれを達成したい:

"<html><head>

"チェックにあるシンボルを削除して、結果が次のようになるようにします。

<html><head>
4

7 に答える 7

4

"文字は、他の文字と同じように置き換えることもできます。

test = test.Replace("\"","");

また、文字が存在するかどうかをテストする必要がないことに注意してください。.Replace()メソッドは何もしない(置換なし、エラーはスローされない)ため、 test.Contains( "i")を削除できます。文字列内に文字が存在しません。

于 2012-10-03T09:48:29.103 に答える
1

'"'文字列リテラルに文字を含めるには、2つの方法があります。これまでのすべての回答は、cスタイルの方法を使用しています。

var quotation = "Parting is such sweet sorrow";
var howSweetIsIt = quotation + " that I shall say \"good-night\" till it be morrow.";

一部のコンテキスト(特にVisual Basicの経験があるユーザーの場合)では、逐語的な文字列リテラルの方が読みやすい場合があります。逐語的な文字列リテラルは@記号で始まり、エスケープが必要な唯一の文字は引用符です。他のすべての文字は逐語的に含まれます(したがって名前が付けられます)。重要なことに、引用符をエスケープする方法は異なります。バックスラッシュを前に付けるのではなく、2倍にする必要があります。

var howSweetIsIt = quotation + " that I shall say ""good-night"" till it be morrow.";
于 2012-10-03T10:10:46.377 に答える
1

文字列に引用記号を含めるには、円記号を使用して引用記号をエスケープする必要があります。あなたの例では、次のようなものを使用したいとします。

if (test.Contains("\""))
于 2012-10-03T09:48:39.747 に答える
1
string SymbolString = "Micro\"so\"ft";

上記の文字列は、scapechar\を使用して文字の間に"を挿入します

string Result = SymbolString.Replace("\"", string.Empty);

次の置換で、文字「」を空に置き換えます。

これはあなたが達成しようとしていることですか?

于 2012-10-03T09:51:05.653 に答える
0
if (check.Contains("\"")
    output = check.Replace("\"", "");
于 2012-10-03T09:48:35.967 に答える
0
if (str.Contains("\""))
{
    str = str.Replace("\"", "");
}
于 2012-10-03T09:49:30.727 に答える
0
output = check.Replace("\"", "");

バックスラッシュはエスケープ文字"\""であるため、引用符には忘れずに使用してください。

于 2012-10-03T09:50:04.227 に答える