我试图修改PowerShell的一个反向引用,但我有没有运气:(如何更改返回引用的大小写?
这是我的例子:
"456,Jane Doe" -replace '^(\d{3}),(.*)$',"| $(`"`$2`".ToUpper()) | `$1 |"
如果我运行它,我得到这个:
|简母鹿| 456 |
但我真的很期待这样的:
|李四| 456 |
如果我运行下面的(与上面相同,但没有“()”在调用ToUpper的):
"456,Jane Doe" -replace '^(\d{3}),(.*)$',"| $(`"`$2`".ToUpper) | `$1 |"
我得到这个:
| string ToUpper(), string ToUpper(System.Globalization.CultureInfo culture) | 456 |
所以这样看来, PowerShell知道后置引用'$ 2'是一个字符串,但为什么我无法让PowerShell将它转换为大写?
特里
请注意''$ 2“'当然总是一个字符串,因为它是用引号括起来的。只是这个字符串是空的,除非你在某处为'$ 2'赋值。 – Joey