Как извлечь текст в PowerShell без регулярных выражений?

Предположим, что у вас есть строка текста
[code language=»powershell»]

$text="PowerShell очень важный инструмент в жизни любого администратора Windows, но наиболее важен он`
для администраторов почтовых систем на базе Microsoft Exchange Server 2010"
[/code]

Необходимо подсчитать сколько слов начинается на «админи*»

Для этого проще всего разбить строку на слова и загнать их в массив

[code language=»powershell»]

$words = $text -split ‘  ‘

PS C:\: $words
PowerShell
очень
важный
инструмент
в
жизни
любого
администратора
Windows,
но
наиболее
важен
он
для
администраторов
почтовых
систем
на
базе
Microsoft
Exchange
Server
2010
[/code]

Теперь выберем слова начинающиеся на «админи*»

[code language=»powershell»]
$words -like "админи*"

PS С:\: $words -like "админи*"
администратора
администраторов
[/code]

Количество слов можно подсчитать следующим образом:
[code language=»powershell»]
PS С:\> $words -like "админи*" | measure

Count    : 2
Average  :
Sum      :
Maximum  :
Minimum  :
Property :
[/code]

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

UPDATE: Олег Крылов предложил использовать следующий вариант:
[code language=»powershell»]

($words -like "админи*").count
[/code]

Related Posts

This Post Has 4 Comments

Добавить комментарий