如何将字符串附加到数据集中的其他字符串?

t1r*_*red 13 string powershell append

我想在带有自定义字符串的数据集中附加几个字符串.

数据集内容:

Test1
Test2
Test3
Run Code Online (Sandbox Code Playgroud)

追加后的结果:

Test1.com
Test2.com
Test3.com
Run Code Online (Sandbox Code Playgroud)

我是否必须使用正则表达式解析到每个Test [n]的末尾才能用自定义字符串(.com)附加它?有没有人有一个例子来描述如何做到这一点?

我正在从SQL表读取并将值写入DataSet,并通过以下方式导出到CSV:

$DataSet.Tables[0] | ConvertTO-Csv -Delimiter ',' -NotypeInformation |`% { $_ -replace '"','' } |  out-file  $outfile -Encoding "unicode"
Run Code Online (Sandbox Code Playgroud)

DataSet包含字符串,例如:

Banana01
Banana02
Apple01
Cherry01
Cherry02
Cherry03
Run Code Online (Sandbox Code Playgroud)

我想要做的事情是追加.comCherry01,Cherry02以及Cherry03和追加后.com,将其导出为CSV文件.

Sha*_*evy 19

有很多方法.以下是一些:

# Using string concatenation
'Test1','Test2','Test3' | Foreach-Object{ $_ + '.com' }

# Using string expansion
'Test1','Test2','Test3' | Foreach-Object{ "$_.com" }

# Using string format
'Test1','Test2','Test3' | Foreach-Object{ "{0}{1}" -f $_,'.com' }
Run Code Online (Sandbox Code Playgroud)


jus*_*inf 9

你可以使用这样的东西:

例1

$t = "test"
$t = $t + ".com"
Run Code Online (Sandbox Code Playgroud)

例2

$test = @("test1","test2")

$test | ForEach-Object {
$t = $_ + ".com"
Write-Host $t}
Run Code Online (Sandbox Code Playgroud)

通过添加的代码,我做到了这一点.我没有数据库来测试它,所以我手动创建数据集,因此您可能只需要将我的代码中的$ DataSet [0]更改为$ DataSet.Tables [0].

$DataSet[0] | ConvertTO-Csv -Delimiter ',' -NotypeInformation  | Foreach-Object{$T=$_
IF($T -match "(Cherry\d\d)"){$T = $T -replace "(Cherry\d\d)(.+)",'$1.com$2'};$T } |  out-file  $outfile -Encoding "unicode"
Run Code Online (Sandbox Code Playgroud)