powershell 如何在使用-split操作符的同时仍然保留用于拆分为字符串的子字符串?

hyrbngr7  于 2023-10-18  发布在  Shell
关注(0)|答案(1)|浏览(102)

一些我认为是直截了当的事情被证明是困难的。

1one2two3three4four5five

我有一个像上面这样的简单字符串,想用数字分割它,但仍然保留数字本身,在新数组中。
以下"1one2two3three4four4five" -split "\d"的结果为:

one
two
three
four
five

数字被丢弃了,我在找这样的东西:

1one
2two
3three
4four
5five

任何帮助将不胜感激!

1rhkuytd

1rhkuytd1#

你可以用一个前瞻性。

"1one2two3three4four4five" -split "(?=\d)"

输出

1one
2two
3three
4four
4five

Lookahead和lookbehind,统称为“lookaround”,是零长度Assert,就像本教程前面解释的行的开始和结束以及字锚的开始和结束一样。区别在于lookaround实际上匹配字符,但随后放弃匹配,仅返回结果:不管匹配与否这就是为什么它们被称为“Assert”。它们不使用字符串中的字符,而只是Assert是否可能匹配。
取自https://www.regular-expressions.info/lookaround.html

相关问题