整个阵列的简单替换失败 - 意外输出
问题描述:
假设我有一个数组,并且我想包围它的每个元素。我希望下面会做它:整个阵列的简单替换失败 - 意外输出
"a b c d".split() -replace ".*", "<$&>"
但是输出我得到的是:中
<a><>
<b><>
<c><>
<d><>
代替:
<a>
<b>
<c>
<d>
,我想不通为什么。这是怎么回事?
答
我不确定,但我认为这是因为您使用.*
作为模式 - 解析器也将空字符串视为匹配,这就是您获得额外匹配的原因。您可以使用以下模式修复它:
^.*
这将强制匹配从行首开始。
+1
或者他也可以使用“。+”,正如帖子@briantist中指出的那样 – Orphid
感谢您找到答案。它是违反直觉的,但是我知道它 – ekkis