【问题标题】:Powershell - Replace "umlauts" in whole arrayPowershell - 替换整个数组中的“变音符号”
【发布时间】:2017-11-06 14:23:03
【问题描述】:

我有一个带有“;”的 csv我使用 import-csv -delimiter ';' 导入的分隔符 完成后,我得到一个包含 3 行的数组(类名 name2) 现在的问题是:我需要从数组中删除“元音变音” 我已经这样试过了

$csv1 = Import-Csv $PSScriptRoot\csvfile.csv -Delimiter ';'
$csv1.name2 = $csv1.Familienname -ireplace 'ä', 'ae'
$csv1.name2

无济于事,输出仍然保持不变(即 ä 保持 ä 并且没有被 ae 替换)

我的另一个想法是编写一个替换变音符号的循环,但我不知道如何做到这一点: 我可以这样做吗?

foreach ( ä,ö,ü in $csv1.name2) 
{ replace with a,oe,ue}

我已经非常感谢一些让我朝着正确方向前进的链接。

【问题讨论】:

  • 最好在源文件中替换:(gc file.csv -raw) -replace 'ä', 'ae' | ConvertFrom-Csv
  • 嗨!听起来不错,我可以添加更多的变音符号吗?像 (gc file.csv -raw) -replace 'ä', 'ae'; 'ö', 'oe' | ConvertFrom-Csv
  • 你可以菊花链-replace,所以(gc file.csv -raw) -replace 'ä', 'ae' -replace 'ö', 'oe' | ConvertFrom-Csv -del ';'
  • @TheMadTechnician 谢谢!但是 -del 代表什么? nvm 知道它是分隔符的别名吗?

标签: arrays powershell csv


【解决方案1】:

这是对我有用的解决方案:

$csv = (gc $PSScriptRoot\csvfile.csv -raw) -ireplace 'ä', 'ae' -ireplace 'ö', 'oe' -ireplace 'ü', 'ue' -ireplace 'ß', 'ss' | ConvertFrom-Csv -Delimiter ';' 

【讨论】:

    猜你喜欢
    • 2021-09-02
    • 2010-10-26
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 2016-10-09
    • 1970-01-01
    • 2012-10-01
    相关资源
    最近更新 更多