Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
如何向powershell中的数组添加多行字符串?_Powershell_Screen Scraping - Fatal编程技术网

如何向powershell中的数组添加多行字符串?

如何向powershell中的数组添加多行字符串?,powershell,screen-scraping,Powershell,Screen Scraping,我试图循环遍历一系列txt文件,将信息提取到基于:分隔符的数组中 我从文本文件中获取的所有值都适合于一行,只有一行除外。广告文本值。这将切断最终输出中第1行之后的信息。当我事先删除行框和中断时,没有一个字段输入正确 如何指定我的数组接受广告文本字段的多行输入 下面是我正在使用的代码: $files = ls "*.txt" $dictionary = @{} [System.Collections.Generic.List[String]]$list = @() foreach($f i

我试图循环遍历一系列txt文件,将信息提取到基于:分隔符的数组中

我从文本文件中获取的所有值都适合于一行,只有一行除外。广告文本值。这将切断最终输出中第1行之后的信息。当我事先删除行框和中断时,没有一个字段输入正确

如何指定我的数组接受广告文本字段的多行输入

下面是我正在使用的代码:

$files = ls "*.txt" 
$dictionary = @{} 
[System.Collections.Generic.List[String]]$list = @() 

foreach($f in $files){$in = Get-Content $f
 $in.Split([Environment]::NewLine) | ForEach-Object { $key,$value = $_.Split(':') 
 $dictionary[$key] = $value 
 }

[void]$list.Add( $dictionary['Ad ID'] + ',' + $dictionary['Ad Text'] + ',' + $dictionary['Ad Landing Page'] + ',' + $dictionary['Ad Targeting Location'] + ',' + $dictionary['Age'] + ',' + $dictionary['Language'] + ',' + $dictionary['Placements'] + ',' + $dictionary['Interests'] + ',' + $dictionary['Behaviors'] + ',' + $dictionary['Ad Impressions'] + ',' + $dictionary['Ad Clicks'] + ',' + $dictionary['Ad Spend'] + ',' + $dictionary['Ad Creation Date'] + ','+ $dictionary['Friends'] + ',' + $dictionary['Ad End Date'] + ',' + $dictionary['Excluded Connections'] + ',' + $dictionary['Image'] + ',' + $dictionary['Ad Targeting Location']+','+$dictionary[‘File Name’] ) 
} 


$list | Out-File -FilePath '.\trial.csv' -Append

假设广告文本:-前缀行后面的其他行不包含:字符本身:

# Create sample text file t.txt
@'
Ad ID:10
Ad Text:one
two
Ad Landing Page:http://example.org
'@ > t.txt

# Split the lines into field names and values by ":" and
# build a dictionary.
$dict = [ordered] @{}
$i = 0
(Get-Content -Raw t.txt) -split '(?m)^([^\n:]+):' -ne '' | ForEach-Object {
  if ($i++ % 2 -eq 0) {
    $key = $_
  } else {
    $dict[$key] = $_
  }
}

# Output the dictionary, showing each entry as a list.
$dict | Format-List
输出如下,显示广告文本条目包括两行:

Name  : Ad ID
Value : 10


Name  : Ad Landing Page
Value : http://example.org


Name  : Ad Text
Value : one
        two
Get Content-WITH-Raw返回一个行数组,因此根据定义,它的元素没有嵌入的换行符。