PowerShell не жадный заменить до шаблона - PullRequest
0 голосов
/ 31 октября 2018

У меня есть файл с несколькими строками, как показано в примере ниже, но мне нужно, чтобы символы, указанные в шаблоне, присутствовали в выходных данных, другими словами, не жадное совпадение.

Мне нужен способ удалить первую часть строки и получить строку, содержащую начиная с '07' или '08' и все в строке до конца строки.

Пример:

  • Ввод: «ВЫБЕРИТЕ TZ_OFFSET (SESSIONTIMEZONE) ИЗ DUAL07.16.0162 (B0375, U0847)»
    • вывод: 16.07.0162 (B0375, U0207)
  • Ввод: «ВЫБЕРИТЕ TZ_OFFSET (SESSIONTIMEZONE) ИЗ ДВОЙНОГО 08.15.0162 (B03075, U07)»
    • выход: 15.08.0162 (B08075, U07)

Ответы [ 2 ]

0 голосов
/ 31 октября 2018
New-Variable -Name file -Value "c:\abc.txt" #This file contains the line that needs to be edited
(Get-Content -Path $file) -replace '^.*?DUAL(.*)$','$1'|set-content $file
0 голосов
/ 31 октября 2018

Это должно работать:

$str = 'SELECT TZ_OFFSET (SESSIONTIMEZONE) FROM DUAL07.16.0162 (B0375, U0847)' 
$str -replace '^.*?DUAL(.*)$','$1'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...