gpt4 book ai didi

regex - 如何在结果中将 -replace 中的捕获字符串更改为大写?

转载 作者:行者123 更新时间:2023-12-02 23:34:02 30 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Lambda Expression in Powershell

(3 个回答)


去年关闭。




给定一个数据库类型字符串 varchar(30) ,我想通过将类型名称大写并将其放在括号中来将其标准化为 SQL Server。想要的结果是 [VARCHAR](30) .

如何将 $1 转换为大写?此表达式标识类型并添加括号,但不是 ToUpper()。

PS> "varchar(30)" -replace '^\[*(\w+)\]*(.*)','[$1]$2'
[varchar](30)

最佳答案

使用正则表达式的简化版本:

PowerShell [核心] v6.1+ :

PSCore> 'varchar(30)' -replace '^\[*\w+\]*', { '[' + $_.Value.ToUpper() + ']' }
[VARCHAR](30)

注意:如果最多只能有一个 [...]输入中的 shell , \[?\]?应该改用。

Windows PowerShell :
WinPS> [regex]::Replace('varchar(30)', '^\[*\w+\]*', { param($m) '[' + $m.Value.ToUpper() + ']' })
[VARCHAR](30)

有关背景信息,请参阅 this answer .

关于regex - 如何在结果中将 -replace 中的捕获字符串更改为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59937935/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com