CSV文件中的空字段(带正则表达式)

时间:2016-09-13 12:03:35

标签: regex powershell csv pattern-matching

我有一个包含以下信息的CSV文件:

Dipendenti = new Mongo.Collection('dipendenti');
    DipendentiSchema = new SimpleSchema({
        nome: {
            type: String
        },
        cognome:{
            type: String
        },
        codiceFiscale:{
            type: String
        },
        telefono:{
            type: String
        },
        indirizzo:{
            type: String
        }
    });

当值匹配时,我会设置为空白字段" RIEN" :

RIEN;ADRIEN;CECI EST UN EXEMPLE DU RIEN;RIEN;AUTRE VALEUR
VALEUR;RIEN DE CELA N'EST POSSIBLE;ADORIEN;VALEUR;RIEN

我尝试在https://regex101.com/制作并测试几个正则表达式。我的持续测试是:

;ADRIEN;CECI EST UN EXEMPLE DU RIEN;;AUTRE VALEUR
VALEUR;RIEN DE CELA N'EST POSSIBLE;ADORIEN;VALEUR;

我只想" RIEN"值,没有分号字符

在未来,我喜欢使用PowerShell脚本删除数组中的所有图片:

(^RIEN)(?=;)|((?=;)(RIEN)(?=;))*|(?=;)(RIEN$)

有人帮我吗?

此致

1 个答案:

答案 0 :(得分:0)

只需一个正则表达式即可删除所有不需要的值,甚至不用行迭代:

[IO.File]::ReadAllText('c:\path\input.txt') `
     -replace '(^|[;\r\n])\s*(RIEN|"VALUE IN QUOTES"|VALUE WITH SPACES)([;\r\n]|$)',
              '$1$3' | Out-File c:\path\output.txt -encoding UTF8