这有效:
$string = "This string, has a, lot, of commas in, it."
$string -replace ',',''
输出:此字符串中有很多逗号。
但这不起作用:
$string = "This string. has a. lot. of dots in. it."
$string -replace '.',''
输出:空白。
为什么呢?
答案 0 :(得分:3)
-replace
使用正则表达式(regexp)进行搜索,在正则表达式中,点是一个特殊字符。使用' \
'来逃避它,它应该有效。请参阅Get-Help about_Regular_Expressions
。
答案 1 :(得分:0)
-replace
中的第一个参数是正则表达式(但第二个参数不是)'.'
是正则表达式中的特殊字符,表示每个单个字符$string -replace '.', ''
的意思是:将每个单个字符替换为''
(空白字符).
并将其视为普通字符,您必须使用\
$string -replace '\.', ''
$string = $string -replace '\.', ''
因此应为:
$string = "This string. has a. lot. of dots in. it."
$string = $string -replace '\.', ''
然后
echo $string
导致:
This string has a lot of dots in it