在PowerShell中我有代码
select
d.[date],
(
sum(x.[count])
from yourtable x
where x.[time] >= d.[date]
and x.[time] < dateadd(hour, 36, d.[date])
) as [count]
from
dates d
,结果是:";10000;100;.0000" -replace ";.0000",";0.00"
这怎么可能?
答案 0 :(得分:5)
backgroundColor
使用正则表达式。因此,您正在寻找具有与任何字符相匹配的正则表达式特殊字符-replace
的{{1}}。这就是为什么一开始就有一场比赛。
如果你逃离那个时期,它会被字面上对待,你会得到预期的结果。
;.0000
您可以在regex101处查看更多解释来查看您的示例。
匹配角色;字面上
。匹配任何字符(换行符除外)
<00> 0000字面匹配字符0000
以上内容取自链接资源。
所以你要么需要注意正则表达式控制字符(这不是一件难以进入的事情),要么你只是在进行基本的搜索/替换,你也可以使用.
字符串方法不使用正则表达式。
PS C:\Users\Matt> ";10000;100;.0000" -replace ";.0000",";0.00"
;0.00;100;0.00
PS C:\Users\Matt> ";10000;100;.0000" -replace ";\.0000",";0.00"
;10000;100;0.00