1

我正在获取 StreamWriter 的文件路径

string fullPath = ((FileStream) (writer.BaseStream)).Name

这给了我:

C:\\P4\\depot\\projects\\_Delegates.generated.cs

是否有机会获取/转换这条路径

C:\P4\depot\projects\_Delegates.generated.cs

没有\\但只有\在路径中。

谢谢

4

3 回答 3

2

尝试这个:

fullpath = fullpath.Replace(@"\\", @"\");

基本上,用一个斜杠替换字符串中的每个双反斜杠。

于 2013-05-31T20:09:54.567 回答
2
C:\\P4\\depot\\projects\\_Delegates.generated.cs

-- 那应该是实际的字符串文字,因为需要额外的反斜杠作为转义序列。所以换句话说,如果你打算自己定义一个字符串变量来定义路径,你会以那种形式输入它......

string fullpath = "C:\\P4\\depot\\projects\\_Delegates.generated.cs"

但是,如果您要实际打印出值,Console.WriteLine(fullpath);您实际看到的打印出的值将是:

C:\\P4\\depot\\projects\\_Delegates.generated.cs

换句话说,它基本上已经是你需要的格式了。

于 2013-05-31T20:29:39.170 回答
1

您可以使用正则表达式中的正则表达式替换功能

使用 System.Text.RegularExpressions;

private string Inhalt1 = null;
StreamWriter file = new StreamWriter(WindowsPath);

Regex rgx= new Regex(@"\\s");
NewPath= rgx.Replace(file, "\");   // the new Path
于 2013-05-31T20:22:05.210 回答