当我进行查询并添加位置字符串示例时:“'
C:\SomeFolder\SubFolder\image.jpg
'”,
查询将数据库中的值设置为“'C:SomeFolderSubFolderimagejpg
'”,然后我发现要保存位置,您需要有两个'\'
字符(像这样\\
)才能将其计为目录位置,所以你能给我一个字符串函数吗,你输入位置,函数返回相同的字符串,但带有双反斜杠?
input = 'C:\SomeFolder\SubFolder\image.jpg';
database need to save as 'C:\\SomeFolder\\SubFolder\\image.jpg';
只需将所有斜杠替换为双斜杠即可:
string input = @"C:\SomeFolder\SubFolder\image.jpg";
string query = input.Replace(@"\", @"\\");
尝试:
public string EscapePathSeparators(string path)
{
StringBuilder sb = new StringBuilder();
foreach (var segment in path.Split(new char[]{ ‘\’ }, StringSplitOption.RemoveEmptyEntries))
{
sb.Append("\\" + segment);
}
return sb.ToString().Substring(2);
}
在 C# 中,单个反斜杠需要以 @ 或双反斜杠的方式编写。上面已经给出了带有@的解决方案。对于双反斜杠 它很简单: string pathforsql =给定路径.Replace("\", "\");请记住,“\”只是一个符号,真正的字符串只包含一个 BS。