我有一个配置文件,我需要输出一些文本并将其转换为CSV文件。我被困在第一步,即这个文件有很少的HTML注释被排除,其余的文本将被用于导出到CSV目的。Powershell从文本文件中排除HTML注释
HTML注释看起来像以下:
<!--<add name= />
<add name= />
<add name= />-->
我已经尝试了不同的正则表达式的解决这个问题,但没有运气。我已经得到的最接近是排除使用下面的正则表达式的第一和第三行,但作为二线仍然存在,不解决这个问题:
Get-Content –Path C:\Pathtothefile -notmatch "^\s*(<!--)|>*(-->)$"
此正则表达式将采取哪些行开头,但不是评论的一部分。我有多个评论文件。
尝试了几个不同的组合("<!--[^>]*(-->)$")
,到目前为止没有运气。
你的帮助是及时赞赏,感谢
非常感谢您的回复已选中此。试过,但没有运气: $ data = Get-Content C:\ file.conf $ state ='content' $ data -split“'n”|对于每个对象{ }如果($ _ -match'^ <! - '){$ 状态=' 评论” 回报$空 } 如果($ _ -match ' - > $'){$ 状态= '内容' 回报$空 } 如果($ state -eq'content'){ $ _ } } – user3421341
当您尝试使用实际内容时会发生什么?你是否收到错误,输出中是否包含评论,或其他内容?我的回答大多是这个想法的一个例子,但并不意味着它是一个成品。你几乎肯定会需要调整一些东西。 – Zoredache