【问题标题】:How to catch path/string in the correct way?如何以正确的方式捕获路径/字符串?
【发布时间】:2013-08-24 18:30:28
【问题描述】:

我正在寻找最佳实践来捕捉路径不以 Path1 开头的可能性。 类似路径的东西等于“C:\\test\yes”,a.Setting.PathSettings.Path1 等于“C:\test\”。

如何避免失败?

String path1 = "C:\test\yes";
String path2 = "C:\test\yes";

pathDir = new FileInfo("C:\\\test\yes\test.txt").Directory.FullName;
pathDir = pathDir.Replace(a.Setting.PathSettings.Path1, a.Setting.PathSettings.Path2);

亲切的问候

【问题讨论】:

  • 我不明白你的问题。你想检查你的路径是否包含Path1
  • 我能问一下为什么它很重要吗?使用硬编码路径是一个坏主意,例如,任何关于文件位于哪个特定 驱动器 的检查都表明编程和文件处理不是很好
  • 格式已更改.. 我的意思是 string.replace 无法将 "C:\\test" 与 "C\test" 进行比较
  • 这与我的last sentence in this answer 有关吗?C\test 不是有效路径
  • @sayse 有点:),编辑:现在可能更清楚了。或者也许我看到了没有问题的问题:)。哪种格式具有 FileInfo.Directory.FullName?它可以改变吗?

标签: c# string replace path str-replace


【解决方案1】:

你可以用 String.StartsWith 检查

if(path.StartsWith(a.Settings.PathSettings.Path1)
{
  path=path.Replace(a.Setting.PathSettings.Path1, a.Setting.PathSettings.Path2);
}

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2021-12-06
    • 2019-08-25
    • 1970-01-01
    相关资源
    最近更新 更多