2015-09-06 66 views
0

假设我有一个数组,并且我想包围它的每个元素。我希望下面会做它:整个阵列的简单替换失败 - 意外输出

"a b c d".split() -replace ".*", "<$&>" 

但是输出我得到的是:中

<a><> 
<b><> 
<c><> 
<d><> 

代替:

<a> 
<b> 
<c> 
<d> 

,我想不通为什么。这是怎么回事?

+1

感谢您找到答案。它是违反直觉的,但是我知道它 – ekkis

回答

2

我不确定,但我认为这是因为您使用.*作为模式 - 解析器也将空字符串视为匹配,这就是您获得额外匹配的原因。您可以使用以下模式修复它:

^.* 

这将强制匹配从行首开始。

+1

或者他也可以使用“。+”,正如帖子@briantist中指出的那样 – Orphid