Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将字符串中的正斜杠(/)和反斜杠(\)替换为正斜杠(/)?_C#_Asp.net_String - Fatal编程技术网

C# 如何将字符串中的正斜杠(/)和反斜杠(\)替换为正斜杠(/)?

C# 如何将字符串中的正斜杠(/)和反斜杠(\)替换为正斜杠(/)?,c#,asp.net,string,C#,Asp.net,String,我有这样一个字符串: D:\\folder\\folder\\folder/文件夹/文件夹 由于它与正向斜杠和反向斜杠混合在一起,所以目录无法使用 查找文件,但如果我这样更改它 D:\folder\folder\folder\folder\folder 这条路是正确的 我试着这样做 sourceStreamId=D:\\folder\\folder\\folder/folder/folder string appdomain = HttpRuntime.AppDomainAppPath; str

我有这样一个字符串: D:\\folder\\folder\\folder/文件夹/文件夹 由于它与正向斜杠和反向斜杠混合在一起,所以目录无法使用 查找文件,但如果我这样更改它 D:\folder\folder\folder\folder\folder 这条路是正确的

我试着这样做

sourceStreamId=D:\\folder\\folder\\folder/folder/folder
string appdomain = HttpRuntime.AppDomainAppPath;
string destinationFile=System.IO.Path.Combine(appdomain,sourceStreamId).Replace("\\", @"\");
但这导致了这样一个字符串 D:\\folder\\folder\\folder/文件夹/文件夹

有人能提出一个解决办法吗

我已经在这里了:但是这个字符串只有两个反斜杠,我有正反斜杠来替换bot,只需调用replace两次:

参考资料:

请尝试以下方法:-

string destinationFile=System.IO.Path.Combine(appdomain,sourceStreamId).Replace(@"\\", @"\");
例如:-

输出>>>
C:\Hg\temp\test\LogFile.txt

您可以利用Path为您修复它:

var ourceStreamId = "D:\\folder\\folder\\folder/folder/folder";

var path = Path.GetFullPath(ourceStreamId);
Console.WriteLine(path);
//output: D:\folder\folder\folder\folder\folder

\\和@\是一样的。但是当我使用\\作为路径时,找不到文件吗?使用\是正确的!!!您的可能副本正在替换相同的东西。\\是\和@\是\。要解决这个问题,您需要像这样将@添加到\\:。替换@\\,@;
string path = "C:\Hg\temp/test\\LogFile.txt";
path = path.Replace(@"\\", @"\"); 
string output = path.Replace(@"/", @"\"); 
var ourceStreamId = "D:\\folder\\folder\\folder/folder/folder";

var path = Path.GetFullPath(ourceStreamId);
Console.WriteLine(path);
//output: D:\folder\folder\folder\folder\folder