我有一个像这样的字符串: D:\\ folder \\ folder \\ 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 / folder / folder
有人可以为此提出建议吗
我去过这里:How to replace the double backslash with a single backslash,但是该字符串只有两个反斜杠斜杠,而我同时具有正反斜杠
答案 0 :(得分:0)
要替换漫游器,只需两次调用Replace
:
string destinationFile = System.IO.Path.Combine(appdomain,sourceStreamId)
.Replace(@"\\", @"\")
.Replace("/", @"\");
参考文献: DotNetFiddle Example
答案 1 :(得分:0)
尝试如下:-
string destinationFile=System.IO.Path.Combine(appdomain,sourceStreamId).Replace(@"\\", @"\");
例如:-
string path = "C:\Hg\temp/test\\LogFile.txt";
path = path.Replace(@"\\", @"\");
string output = path.Replace(@"/", @"\");
输出>>> C:\ Hg \ temp \ test \ LogFile.txt
答案 2 :(得分:0)
您可以利用Path为您修复它:
var ourceStreamId = "D:\\folder\\folder\\folder/folder/folder";
var path = Path.GetFullPath(ourceStreamId);
Console.WriteLine(path);
//output: D:\folder\folder\folder\folder\folder