小编Sol*_*ire的帖子

在 PowerShell 中将字符串拆分为单独的字符串

我在 powershell 中的脚本运行:test.ps1 -dbo test1 => 这有效,它进入提供的数据库

SELECT name FROM sys.databases
where name not in ('master', 'tempdb', 'model', 'msdb', 'test1');
Run Code Online (Sandbox Code Playgroud)

但如果我想输入多个数据库,例如test.ps1 -dbo test1, test2, test3 => 这将被读取为一个字符串

SELECT name FROM sys.databases
where name not in ('master', 'tempdb', 'model', 'msdb', 'test1, test2, test3');
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Powershell中将字符串分割成单独的,就像这样:

SELECT name FROM sys.databases
where name not in ('master', 'tempdb', 'model', 'msdb', 'test1', 'test2', 'test3');
Run Code Online (Sandbox Code Playgroud)

代码:

Param(
    [Parameter(Mandatory=$false, ValueFromPipeline=$true)]
    [Alias("dbo")]
    [String[]]
    $databaseName
)

$dbquery = @"
        SELECT name FROM sys.databases
        where name not in ('master', …
Run Code Online (Sandbox Code Playgroud)

sql-server powershell

5
推荐指数
1
解决办法
152
查看次数

在python3中格式化正则表达式输出

如何格式化正则表达式的输出或以特定格式返回正则表达式输出。

例如:我有一个程序test_program:5.4.3.2.11111

我只想获得这个值:5.4.3.2.11111

如果我使用这个功能:

import re

get_number = "test_program:5.4.3.2.11111"
number = re.findall('\d+', get_number)
Run Code Online (Sandbox Code Playgroud)

输出是:

['5', '4', '3', '2', '11111']
Run Code Online (Sandbox Code Playgroud)

但由于格式不正确,我无法将其传递给另一个变量。

我用过这样的东西:

['5', '4', '3', '2', '11111']
Run Code Online (Sandbox Code Playgroud)

并且输出格式正确,但是如果任何数字更改,例如5将更改为1011111将更改为1111112,这将无法正常工作。

有没有更好的解决方案可以以正确的格式从字符串中获取数字,并且不会发生变化?

python python-3.x

-4
推荐指数
1
解决办法
72
查看次数

标签 统计

powershell ×1

python ×1

python-3.x ×1

sql-server ×1