【问题标题】:PowerShell - remove first character if a specific characterPowerShell - 如果是特定字符,则删除第一个字符
【发布时间】:2019-07-02 20:17:23
【问题描述】:
 $path = "\path\to\my\file"

我想简单地删除第一个 \ 我该怎么做?

如果是字母,我不想删除第一个字符,只要它是\

【问题讨论】:

    标签: powershell


    【解决方案1】:
    $path = $path.TrimStart("\")
    

    会将$path 转换为path\to\my\file

    请注意,随后的前导反冲也将被删除,因此如果您有 \\\path,它将减少到 path

    【讨论】:

    • 您可能想提到.Trim() 变体将括号中的字符作为单独的字符 修剪...并修剪所有这些字符。因此,您的代码将删除 all 前导反斜杠字符。当你期望它时这很好......但当它意外发生时真的令人不安。 [咧嘴]
    • ... 就像我 noticed 在压缩时尝试从相对路径中修剪`.`。
    【解决方案2】:

    您可以使用正则表达式 -replace 运算符:

    $path = $path -replace '^\\'
    

    这将从字符串的开头准确删除 1 个反斜杠

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 1970-01-01
      • 2017-01-10
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多