satocchiaブログ

satocchiaブログ

PR

キーワードサーチ

▼キーワード検索

プロフィール

satocchia

satocchia

カレンダー

お気に入りブログ

まだ登録されていません

コメント新着

effelpist@ kilovermek.es effelpist <a href="https://kilovermek.es/…
tomoZo@ Re:Pale Moon日本語化トラブル(06/06) はじめまして。 28.16.0でまたもや提供さ…
satocchia @ Re[1]:Pale Moon日本語化トラブル(06/06) zui_9さんへ 本日、確認しました。ようや…
zui_9 @ Re:Pale Moon日本語化トラブル(06/06) 上記リンク「Githubのプロジェクト」の左…
わたなべ@ Re:powershellコンソール、見づらくありませんか?(08/26) 初めまして、この情報最高です! 背景を白…

フリーページ

2020.05.29
XML
カテゴリ: powershell
​こんな感じの文字列
$filters="HTML ファイル|*.html;*.htm,テキストファイル|*.txt,全てのファイル|*.*"
を配列に分解しようとしてハマりました。
コンマで分けた後、「|」で説明とワイルドカードに区切ろうとして「?」な現象が。
$filter=($filters -split ",")[0]
これで$filter="HTML ファイル|*.html;*.htm"となるとこまでは無事だったんですが、
次に$filterを「HTML ファイル」と「*.html;*.htm」に分けようとして失敗。

端末で $filter -split "|" と打ち込むと

H

M
L



以下略

と1文字ごとバラバラになってしまいました。
どうやら、-split演算子で指定する区切り文字はただの文字として処理するのでなく正規表現を期待している模様。
「-split "|"」は正規表現としてみると「-split ""」と同じなので結局全部を分化してしまったのでした。
ここらへん、-replace演算子に触れた​ 正規表現じゃない直接文字置換 ​と同じようにやれば解決します。



ほかには、文字列のsplitメソッドを使って
$filter.split("|")
とやってもOK。

powershellの文字列演算子は 正規表現を期待している こと、覚えておこう。











お気に入りの記事を「いいね!」で応援しよう

最終更新日  2020.05.29 13:17:11
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: