none
C#中如何对表示目录层次结构的路径字符串自动过滤多余斜杠 RRS feed

  • 问题

  • 我的目录路径是使用多个字符串拼接起来的,有时候会出现多余斜杠,请问如何过滤重复的?

    例如  "C://A//B////xxx.exe"

    2017年5月15日 4:06

答案

  • Hi,

    当你使用path.combine 方法的时候。你可能需要注意它的用法。

    当遇到空行的,combine可能就不会解析这个参数,这也许就是你说的忽略参数,所以你可能要检查你的路径。

    在遇到相对路径的时候,我建议你可以转换正绝对路径,使用GetFullPath .

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 KingSoft.H 2017年6月29日 6:34
    2017年5月16日 5:53
    版主

全部回复

  • 目录路径是使用多个字符串拼接起来的

    拼凑的时候,考虑用Path.Combine,而不是用字符串相加

    参考

    http://www.cnblogs.com/xiaobaidhg/archive/2007/04/12/710128.html


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年5月15日 9:52
  • Path.Combine  试过了,但Path.Combine有弊端,遇到相对路径的参数,会忽略此参数。并且参数内容包含多个目录分隔符的也不会自动去掉重复分隔符
    2017年5月16日 1:40
  • Hi,

    当你使用path.combine 方法的时候。你可能需要注意它的用法。

    当遇到空行的,combine可能就不会解析这个参数,这也许就是你说的忽略参数,所以你可能要检查你的路径。

    在遇到相对路径的时候,我建议你可以转换正绝对路径,使用GetFullPath .

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 KingSoft.H 2017年6月29日 6:34
    2017年5月16日 5:53
    版主