2

これには多くの質問があるようですが、私が見つけたものはどれもうまくいかないようでした.

私のコード:

string subFolderName = category = "Parent/Sub\\Sub sub";
string category = subFolderName.Replace(@"\\", @"/");

categoryこれはと同じ文字列として返されますsubFoldername。つまり:

"Parent/Sub\\Sub sub".

私が実際に欲しいのは:

"Parent/Sub/Sub sub"
4

4 に答える 4

2

Damien_The_Unbelieverがコメントで述べたように、文字列として記述"Parent/Sub\\Sub sub"すると、実際には 1 文字しか含まれません\。したがって、String.Replaceメソッドは\\文字列で見つけることができません。

verbatim stringliteralを使用すると、文字列はまさにあなたが書いたとおりになります。

string subFolderName = category = @"Parent/Sub\\Sub sub";
string category = subFolderName.Replace(@"\\", @"/");
Console.WriteLine(category);

出力は次のようになります。

Parent/Sub/Sub sub

ここに がありDEMOます。

于 2013-05-07T10:49:41.650 に答える
1
string category = subFolderName.Replace(@"\", "/");

これを使って。

于 2013-05-07T10:51:49.873 に答える
1

カテゴリの内容をどのようにご覧になっていますか?VS デバッガーを使用している場合、文字列がエスケープされるため、文字\列は次のように表示されます。\\

だからあなたはどちらかが必要です

string category = subFolderName.Replace(@"\", @"/");

また

string category = subFolderName.Replace("\\", "/");
于 2013-05-07T10:50:21.320 に答える