拆分文件名-奇怪的行为

我正在尝试拆分文件名,例如 XXX_YYYY-YYYY_fff.xxx

如果我正在使用

'XXX_YYYY-UUUU_fff.xxx' -split '[-_`.]'

一切正常,显示:

XXX
YYYY
UUUU
fff
xxx

但是当我使用

'XXX_YYYY-UUUU_fff.xxx' -split '[_-`.]'

它不会在破折号上拆分:

XXX
YYYY-UUUU
fff
xxx

任何人都可以解释为什么?

回答

-指定正则表达式中的字符范围。为了得到你想要的,“逃避”-; 例如:

C:> 'XXX_YYYY-UUUU_fff.xxx' -split '[_-.]'
XXX
YYYY
UUUU
fff
xxx

即,使用以下任何字符拆分字符串:_, -, 或.

你也可以告诉正则表达式解析器 the-是集合中的一个文字字符,方法是将它放在集合的开头,就在集合的后面[或集合的末尾,方法是将它放在 之前],如下所示:

[-_.]

或者

[_.-]


以上是拆分文件名-奇怪的行为的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>