提取两个由特定字符分隔的字符串

时间:2019-06-05 14:10:04

标签: powershell

我是Powershell的新手,必须解决一个问题。我一直在寻找不同的解决方案,但我不必继续进行操作...从文本文件中,我必须:

  1. 提取两个用"|"分隔的字符串。
  2. 验证两个字符串是否相同。
  3. 如果是,那么,我将结果导出到仅保留string1的txt文件中。
  4. 如果没有,我将结果导出为txt文件中的string2.string1

例如,我的文件就是这样:

column name
toulon|1|0|||||||wan|toulon
lille-test|1|0|||||||wan|Lille

预期的输出是带有的txt文件:

toulon
lille.lille-test

如果需要,我可以提供源文件和预期的输出。

1 个答案:

答案 0 :(得分:1)

一种解决方法是使用-Split运算符根据|字符定界,执行字符串比较,然后将结果与-Join运算符连接。

$Lines = Get-Content -Path "test.txt"
$lines | Foreach-Object {
    $splits = $_  -Split "\|"
    if ($splits[0] -eq $splits[-1]) {
        $splits[0]
    }
    else {
        $splits[-1,0] -Join "."
    }
}