[解決済み] PowerShellと-contains演算子
2022-03-02 13:28:23
質問
次のスニペットを考えてみましょう。
"12-18" -Contains "-"
と評価されると思うでしょう。
true
しかし、そうではありません。これは次のように評価されます。
false
の代わりに なぜこのようなことが起こるのかよくわかりませんが、そうなります。
これを避けるには、代わりにこれを使用します。
"12-18".Contains("-")
これで、この式はtrueと評価されます。
なぜ最初のコードスニペットはそのような動作をするのでしょうか?何か特別な
-
とは相性が悪いので
-Contains
?
ドキュメント
はそれについて何も言及していません。
解決方法は?
その
-Contains
演算子は部分文字列の比較を行わず、完全な文字列にマッチする必要があり、コレクションの検索に使用されます。
リンク先のドキュメントから。
-内容 説明 Containment演算子。 参照値のコレクションが単一のテスト値を含むかどうかを指示する。
この例では、1つの文字列項目だけを含むコレクションを扱っています。
リンク先のドキュメントを読めば、この動作を示す例があるはずです。
例
PS C:\> "abc", "def" -Contains "def"
True
PS C:\> "Windows", "PowerShell" -Contains "Shell"
False #Not an exact match
あなたが欲しいのは
-Match
演算子を使用します。
"12-18" -Match "-"
を返します。
True
.
重要です。
コメントでご指摘のとおり、また
リンク先ドキュメント
の場合、注意すべきは
-Match
演算子は
正規表現
を使用してテキストマッチングを行います。
関連
-
[解決済み] Get-ChildItem -force で My Documents フォルダとその他の接続ポイントに "Access Denied" を報告する。
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] インストールされたPowerShellのバージョンを確認する
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Powershell: 引数 "xxx" を受け入れる位置パラメーターが見つからない。
-
[解決済み】powershellにターミネーターがない。"
-
[解決済み】PowerShellの関数で変数をインクリメントする
-
[解決済み] Add-ADGroupMember が ID を持つオブジェクトを見つけられません。
-
[解決済み] "get-wmiobject win32_process -computername" でエラー "Access denied , code 0x80070005" が発生する。
-
[解決済み] PowerShellでファイルを一行ずつ読み込む
-
[解決済み] Powershellでパラメータを切り替える
-
[解決済み] いずれかのキーを押して続行[複製]。
-
[解決済み] Powershellでギャラリーが利用できないというエラーが発生しました。
-
[解決済み] powershellの&マークはどういう意味ですか?