2012年12月27日木曜日

◆特定の場所で文字列を分割(文字を削らない)

正規表現に詳しい方には常識かもしれないが以下のパターンは使いでがありそうなのでメモしておく。

Splitting Texts without Losing Anything - Power Tips - PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources

PS>$profile
F:\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

PS>$profile -split '\\'
F:
Documents
WindowsPowerShell
Microsoft.PowerShell_profile.ps1

PS>$profile -split '(?<=\\)'
F:\
Documents\
WindowsPowerShell\
Microsoft.PowerShell_profile.ps1

PS>$profile -split '(?=\\)'
F:
\Documents
\WindowsPowerShell
\Microsoft.PowerShell_profile.ps1

最初の例では分割文字に「\」を指定しているのでそれが削られたうえで分割される。

場合によっては「\」を削らずに分割したい場合があるでしょうというのが、この話の趣旨。

「\」の右側で分割するか左側で分割するかの2パターン。
これは「\」を先頭から検索するか後ろから検索するかで切り分けが可能。

ここら辺の正規表現の説明は以下を参照。
PowerShell: ◆正規表現の基礎<グループ化構成体>

0 件のコメント:

コメントを投稿