C# 如何将字符串中的正斜杠(/)和反斜杠(\)替换为正斜杠(/)?
我有这样一个字符串: D:\\folder\\folder\\folder/文件夹/文件夹 由于它与正向斜杠和反向斜杠混合在一起,所以目录无法使用 查找文件,但如果我这样更改它 D:\folder\folder\folder\folder\folder 这条路是正确的 我试着这样做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
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