我有这个模式,由数量,描述和价格组成。请不要数字和文字每次都会改变。
我需要使用powershell来查找和保存结果。到目前为止我得到了这个...模式格式是让我抓狂的东西。
$example_line = '3.00 CEBICHE CORVINA PI 26,805.00'
$pattern= '\d.\d\d \D'
$results = $example_line | Select-String $pattern -AllMatches
$results.Matches.Value
任何帮助都是感激不尽的。
提前感谢!
编辑。看到答案后,我尝试regex来构建数组。
我不知道为什么它不为我工作...我阅读txt文件,我得到的结果,但当我想看到的数组,我没有得到任何数据。
例如,我用这个将所有匹配的行保存到数组中
函数pasar_a_word($archivo){
$content = Get-Content $root\UNB\FACTURA_FINAL\$archivo
$pattern = '(\d\.\d\d) (\D+?) (\d+,\d\d\d\.\d\d)'
Write-Host "FUNCION PASAR A WORD"
for($i = 0; $i -lt $content.Count; $i++){
$line = $content[$i]
$results = ([regex]::Matches($line, $pattern)).Value
}
Write-Host $results[1] }
3条答案
按热度按时间p1iqtdky1#
编码:
xlpyo6sf2#
您可以使用regex静态
.Matches()
方法来执行此操作:yhuiod9q3#
正确的模式是