Как я могу извлечь использование подстроки PowerShell?
У меня есть эта строка...
"-----start-------Hello World------end-------"
Я должен извлечь...
Hello World
Что лучший способ состоит в том, чтобы сделать это?
Метод Substring
предоставляет нам способ извлечения определенной строки из исходной строки на основе начальной позиции и длины. Если указан только один аргумент, он принимается за начальную позицию, а оставшаяся часть строки выводится.
PS > "test_string".Substring(0,4)
Test
PS > "test_string".Substring(4)
_stringPS >
Но это проще...
$s = 'Hello World is in here Hello World!'
$p = 'Hello World'
$s -match $p
И, наконец, для перебора каталога, выбирая только файлы .txt и ища в них вхождения "Hello World":
dir -rec -filter *.txt | Select-String 'Hello World'
Оператор -match
проверяет регулярное выражение, объединяет его с магической переменной $ match
, чтобы получить результат
PS C:\> $x = "----start----Hello World----end----"
PS C:\> $x -match "----start----(?<content>.*)----end----"
True
PS C:\> $matches['content']
Hello World
Всякий раз, когда возникают сомнения по поводу регулярного выражения -у-е, посетите этот сайт: http://www.regular-expressions.info