Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何将字符串附加到数据集中的其他字符串?_String_Powershell_Append - Fatal编程技术网

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

String 如何将字符串附加到数据集中的其他字符串?,string,powershell,append,String,Powershell,Append,我想用自定义字符串在数据集中附加几个字符串 示例 数据集的内容: Test1 Test2 Test3 追加后的结果: Test1.com Test2.com Test3.com 我是否必须使用regex解析到每个测试的末尾[n],才能使用自定义字符串(.com)附加它?有没有人举过一个例子来准确描述如何做到这一点 我正在从SQL表中读取数据,并将值写入数据集,数据集通过以下方式导出为CSV: $DataSet.Tables[0] | ConvertTO-Csv -Delimiter ','

我想用自定义字符串在数据集中附加几个字符串

示例

数据集的内容:

Test1
Test2
Test3
追加后的结果:

Test1.com
Test2.com
Test3.com
我是否必须使用regex解析到每个测试的末尾[n],才能使用自定义字符串(
.com
)附加它?有没有人举过一个例子来准确描述如何做到这一点

我正在从SQL表中读取数据,并将值写入数据集,数据集通过以下方式导出为CSV:

$DataSet.Tables[0] | ConvertTO-Csv -Delimiter ',' -NotypeInformation |`% { $_ -replace '"','' } |  out-file  $outfile -Encoding "unicode"
数据集包含一组字符串,例如:

Banana01
Banana02
Apple01
Cherry01
Cherry02
Cherry03

我要做的事情是只将
.com
附加到
Cherry01
Cherry02
、和
Cherry03
,然后在附加
.com
后,将其导出为CSV文件。

您可以使用类似的方法:

例1

$t = "test"
$t = $t + ".com"
例2

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

$test | ForEach-Object {
$t = $_ + ".com"
Write-Host $t}
通过你添加的代码,我做到了这一点。我没有可以测试它的数据库,所以我手动创建了数据集,所以您可能只需要将代码中的$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"

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

# 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' }

$array |%{if($.-match“^Cherry\d\d”){$.+=“.com”};$.}

谢谢。我在我的帖子中发布了一些代码,如果你能看一下,那就太酷了。很难测试,因为我没有访问sql的权限,所以请检查一下,如果它不正确,我可以帮你整理一下。谢谢。但是我认为这样每个字符串都会被追加,不管它以什么开头。。但是我只想添加那些以“Cherry#”开头的.com,因为我在我的第一篇文章的编辑中发布了。好的,很抱歉没有看到那部分,请在我编辑它之后立即尝试代码,编辑的代码检查是否有任何东西被称为Cherry+两个数字,例如cherry00,cherry01,cherry99谢谢。我已经测试过了,它似乎很有效,但是如果我在数据集中有这样的东西:Cherry01,fruit,yummy,那么.com将连接到yummy what使它成为Cherry01,fruit,yummy.com。如果我只想在Cherry01名字后面插入它,它看起来像:Cherry01.com,fruit,yummyThank you。您能给我一个与我发布的代码相关的示例吗?您要附加到的每个值的列标题是什么?我要附加的所有字符串都有标题“vmname”,请尝试以下操作:…|Foreach对象{$$$.vmname+'.com'}$DataSet.Tables[0]| ConvertTO Csv-Delimiter','-NotypeInformation{$$'-replace',''}}Foreach对象{$T=$$.vmname if($T-match“ESX\d\d”-或$T-match“ESX\d\d\d\d”){$T+'.com'}否则{$T}}输出文件$outfile-Encoding“unicode”给我一个空结果。