Извлеките использование подстроки PowerShell

Как я могу извлечь использование подстроки PowerShell?

У меня есть эта строка...

"-----start-------Hello World------end-------"

Я должен извлечь...

Hello World

Что лучший способ состоит в том, чтобы сделать это?

46
задан ΩmegaMan 3 July 2019 в 15:09
поделиться

2 ответа

Метод 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'
37
ответ дан 26 November 2019 в 20:17
поделиться

Оператор -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

45
ответ дан 26 November 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: