Статья размещена автором Бетке Сергей Сергеевич
PowerShell: делим текст на абзацы
10 Янв 2013 @ 5:50 ПП
Отправить ссылку почтой •
Прямая ссылка
Простейшая задача, и простейшее решение к ней. Есть текстовый файл, в которым абзацы отделены друг от друга пустой строкой (по правилам MarkDown, например). И стоит задача – получить массив абзацев, в котором все строки в пределах абзаца собраны в одну, и каждый абзац – отдельным элементом.
$Text -split '(?:[ \t]*\r?\n[ \t]*){2,}' ` | % { $_ -replace '(?:[ \t]*\r?\n[ \t]*)', ' '; };
И чуть красивее – функцией:
Filter Split-Para { <# .Synopsis Делит переданный текст на абзацы по правилам MarkDown. В качестве границы абзацев - пустая строка. Текст в пределах абзаца объединяет в одну строку. #> param ( [Parameter( Mandatory = $true , ValueFromPipeline = $true )] [String] [AllowEmptyString()] [Alias('Text')] $InputObject ) $InputObject -split '(?:[ \t]*\r?\n[ \t]*){2,}' ` | % { $_ -replace '(?:[ \t]*\r?\n[ \t]*)', ' '; }; }
Ну как то так…
RSS комментарии
Обратная ссылка