You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中无法去除字符串双引号问题求助

解决FolderBrowserDialog路径双引号移除问题

兄弟,我太懂这种卡了一小时的憋屈感!先别死磕了,咱们先搞清楚核心问题——其实FolderBrowserDialog.SelectedPath返回的字符串本身是不带双引号的!你看到的引号大概率是调试工具(比如VS的即时窗口、控制台输出)自动加上的,用来标记这是字符串,不是实际内容。

先验证是不是“假引号”

先写一行代码确认实际内容:

string rawPath = folderBrowserDialog1.SelectedPath;
// 用竖线包裹内容,直观看到首尾有没有引号
Console.WriteLine($"路径内容:|{rawPath}|,长度:{rawPath.Length}");

如果输出是|C:\My Folder|,那说明根本没有引号,你之前白忙活了——那些引号只是调试界面的显示效果而已!

要是真的有引号,用这些方法搞定

如果验证后发现字符串首尾确实带双引号,用下面几种靠谱的方法:

  • 最精准的方法:Trim移除首尾引号
    只去掉首尾的双引号,不会误删中间的(比如路径里如果有引号的极端情况):
    string cleanPath = rawPath.Trim('"');
    
  • 如果是全角引号
    要是你遇到的是中文全角引号“”,就把Trim的参数换成对应的字符:
    string cleanPath = rawPath.Trim('“', '”');
    
  • 兜底方案:Replace替换所有引号
    如果你确定路径里不会有合法的引号,也可以直接替换所有双引号:
    string cleanPath = rawPath.Replace("\"", "");
    

额外提醒:命令行场景的引号问题

如果你是把路径传给命令行工具时看到引号,那可能是系统自动加的(比如路径带空格时,Process.Start会自动给路径加引号),这时候你不需要手动处理,系统已经帮你搞定了。

内容的提问来源于stack exchange,提问作者Yuki Kutsuya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:34:40