gpt4 book ai didi

regex - 从文件名中删除某些字符串模式而不影响扩展名

转载 作者:行者123 更新时间:2023-12-03 00:41:52 26 4
gpt4 key购买 nike

我有如下文件名:

filename01_Sector_9009_part1.txt
filename02_Sector_1290_part2.series.txt
filename03_Sector_7916a_planning.csv

现在我们只想像这样清理和重命名所有文件
filename01.txt
filename02.txt
filename03.csv

我写了以下命令
get-childitem *.*| foreach { rename-item $_ ($_.name -replace '(_Sector\s*)(\.[^.]*$|$)','')}

但它不工作..请帮助

最佳答案

您可以使用

-replace '_Sector.*(?=\.[^.]+$)'

this regex demo .

或者,
-replace '_Sector.*(\.[^.]+$)', '$1'

this regex demo .

图案详情
  • _Sector - 文字
  • .* - 除换行符以外的任何 0+ 个字符,尽可能多
  • (?=\.[^.]+$) - 紧随其后的位置
  • \. - 一个点
  • [^.]+ - 1 个或多个字符而不是点
  • $ - 字符串结束。

  • 使用捕获组时 - (\.[^.]+$) - 应该使用 $1 将其值复制回字符串占位符(也称为替换反向引用)。

    关于regex - 从文件名中删除某些字符串模式而不影响扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60065950/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com