Существует файл C: \ Density.txt, в который периодически записываются четыре значения.
Для обработки и дальнейшего анализа мне нужен только четвертый знак, Плотность:.
Подход к обработке файлов заключается в следующем.
Есть ли возможность получить значение Density: с помощью регулярных выражений?
Пример файла Английский:
Solid density
Mass in the air:
23.384 (1) g
Mass in liquid:
23.383 (3) g
Solid volume:
0.001 cm3
Density:
1111.586 g / cm3
==============
Solid density
Mass in the air:
23.384 (1) g
Mass in liquid:
23.383 (3) g
Solid volume:
0.001 cm3
Density:
1112.586 g / cm3
==============
Solid density
Mass in the air:
23.384 (1) g
Mass in liquid:
23.383 (3) g
Solid volume:
0.001 cm3
Density:
1113.586 g / cm3
==============
Пытаюсь добавить код вашего решения, но выдает ошибку. Мне нужно заблокировать файлы (ScalesM) для записи и чтения. Получив значения, мне нужно построчно записать результат в другой файл OutFile. Есть ли способ адаптировать код вашего решения?
$ScalesM = [System.io.File]::Open('C:\DensityNT.txt', 'Open', 'ReadWrite', 'None')
$OutFile = [System.io.File]::Open('C:\\InfinityDensity.txt', 'append', 'Write', 'None')
$ScalesM2 = New-Object System.IO.StreamReader($ScalesM)
$text = $text + $ScalesM2.ReadToEnd()
# Next sring Give my the Error -
$text = ($text | Select-String -Pattern "[0-9\.].+?(?=( g\/cm3))" -AllMatches).Matches.Value
$data = $enc.GetBytes($text)
$OutFile.write($data,0,$data.length)
$ScalesM.SetLength(0)
$ScalesM.Close()
$OutFile.Close()