arrays - 你能把带括号和数组格式的字符串转换成数组吗?

标签 arrays powershell csv

我正在处理一个 CSV 文件,其中一列是包含数组格式字符串的单元格。以下是访问这些单元格的样子:

$csv = Import-Csv $filelocation
foreach ($line in $csv)
{
   Write-Host $line.ColumnName
}

输出:

[Property=[value1,value2,value3]]
[Property=[value1,value2]]
...

可以看到每个单元格输出一个数组结构的字符串。我想将每个单独的字符串视为具有 Property[0] = value1 等的数组

有没有简单的方法来做到这一点?否则,我假设我将需要使用 Reg Ex。

最佳答案

哦!抱歉...看不到文件内容:,,,,,"[AsymmetricKey=[]]","[AppAddress=[[AddressType=Reply,A‌ ddress=urn:ietf:wg:o‌ auth:2.0: oob]]]","[A‌ ppAuxiliaryId=[]]」,,‌ ,, 好的...如果所有文件内容都像这样我们可以做这样的事情:

$patch = get-content 'D:\test\testing!.csv'

$pl = $patch.Length - 1

for ($i=0 ; $i -le $pl ; $i++) {

$patch[$i].Replace(",,,,,","").Replace(",,‌​,,","").Replace("Reply,A‌​ddress","Reply.A‌​ddress").Split(",")[0]
$patch[$i].Replace(",,,,,","").Replace(",,‌​,,","").Replace("Reply,A‌​ddress","Reply.A‌​ddress").Split(",")[1]
$patch[$i].Replace(",,,,,","").Replace(",,‌​,,","").Replace("Reply,A‌​ddress","Reply.A‌​ddress").Split(",")[2]
$patch[$i].Replace(",,,,,","").Replace(",,‌​,,","").Replace("Reply,A‌​ddress","Reply.A‌​ddress").Split(",")[3]
}

关于arrays - 你能把带括号和数组格式的字符串转换成数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44642388/

相关文章:

java - 计算和写入重复项

php - 如何将 PHP 数组中的最后 n 项作为另一个数组获取?

arrays - Scala 中的 apply() 函数出现编译错误?

Powershell "private"范围似乎根本没有用

bash - 使用 csvtool 调用在 bash 中过滤 csv

arrays - 删除 Perl 数组的元素

windows - Grep 和 SED 在 PowerShell 中不工作

powershell - powershell卸载多个应用程序?

php - 将csv文件导入mysql

java - 我如何比较java中没有格式和数据差异标题的csv