This question already has answers here:
Lambda Expression in Powershell
(3个答案)
在10个月前关闭。
给定数据库类型字符串
如何将$ 1转换为大写?该表达式标识类型并添加方括号,但不是ToUpper()。
注意:如果输入中最多包含一个
在中,Windows PowerShell :
有关背景信息,请参见this answer。
(3个答案)
在10个月前关闭。
给定数据库类型字符串
varchar(30)
,我想通过大写类型名称并将其放在方括号中来对SQL Server进行标准化。所需的结果是[VARCHAR](30)
。如何将$ 1转换为大写?该表达式标识类型并添加方括号,但不是ToUpper()。
PS> "varchar(30)" -replace '^\[*(\w+)\]*(.*)','[$1]$2'
[varchar](30)
最佳答案
使用正则表达式的简化版本:
在 PowerShell [Core] v6.1 + 中:
PSCore> 'varchar(30)' -replace '^\[*\w+\]*', { '[' + $_.Value.ToUpper() + ']' }
[VARCHAR](30)
注意:如果输入中最多包含一个
[...]
附件,则应改用\[?
和\]?
。在中,Windows PowerShell :
WinPS> [regex]::Replace('varchar(30)', '^\[*\w+\]*', { param($m) '[' + $m.Value.ToUpper() + ']' })
[VARCHAR](30)
有关背景信息,请参见this answer。