繁体   English   中英

如何解析Powershell中format-table生成的表单元格中的字符串?

[英]How to parse strings in a table cell generated by format-table in powershell?

我使用以下comlet来获取数据:

import-csv .\ConnectionStrings.txt -Delimiter "`t" -Header Firms, URLs, Config, Type | format-table -Property Firms, URLs -HideTableHeaders -outvariable content

#Not working part
for($i = 0; $i -lt $content.Count; $i++){
    $url = $content[$i][1]    
    $instance = $url.SubString(0, $url.IndexOf(".") - 1)
}

下面是import-csv ... cmdlet的结果:

value1    url1.test.com
value2    url2.test.com
value3    urle3.test.com
...
valuen    urln.test.com

我用getType检查$ content,它是ArrayList。 我以为可以将其用作C#ArrayList,因为我需要解析第二列以获取url部分。 但是没有用。 目前,我认为我处于死胡同,不知道该去哪里。

  1. format-table用于将对象显示为文本表。 但是,您想访问import-csv给您的对象的内部。 因此,您不需要format-table
  2. $content是由import-csv构建的对象的ArrayList,而不是ArrayLists或数组的ArrayList。 您已经使用-Header选项告诉了import-csv要构建哪种对象,所以只需使用它即可。
  3. SubString采用起始索引和长度,而不是起始索引和结束索引。

进行相关更改,我得到以下代码:

$content = import-csv .\ConnectionStrings.txt -Delimiter "`t" -Header Firms, URLs, Config, Type 

for($i = 0; $i -lt $content.Count; $i++){
    $url = $content[$i].URLs
    $instance = $url.SubString(0, $url.IndexOf("."))
    Write-Host $instance
}

给出以下输出:

url1
url2
urle3
urln

我想您正在寻找的是哪个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM