Articles

PowerShell文字列が含まれています

X

プライバシー&クッキー

このサイトはクッキーを使用しています。 継続することにより、あなたはそれらの使用に同意します。 Cookieの制御方法など、詳細についてはこちらをご覧ください。

それを得ました!PowerShell文字列に文字または部分文字列が含まれているかどうかを確認するにはどうすればよいですか?あなたはこれを試してみたくなるかもしれません

:PS>PS s=’abcdefghijk’
PS>PS s-contains’f’
False

しかし、–containsは配列の内容を扱うためのものです。 だから、これを行うことができます:

PS>(s s.ToCharArray())-contains’f’
True

暗黙的に文字列’f’を比較するために変換しています。 あなたの比較は実際にはこれです

PS>(s s.P>

それは単一の文字のために大丈夫ですが、部分文字列をテストしたい場合

PS>PS s-“def”を含みます
False
PS>(s s.ToCharArray())-“def”を含みます
False

それは、”def”を含みます
False

それは、”def”を含む
False

それは、”def”を含む
False

それは、”def”を含む
False

それは、”def”を含む
False

それは、”def”を含む
False

それは、”def”を含む
アプローチは機能しません。あなたはIndexofメソッドを使用する必要があります

PS>PS s.Indexof(‘f’)
5
PS>PS s.Indexof(‘def’)
3

返される値は、部分文字列の最初の文字の位置です。

こともでき試験、配列の文字

PS>$a=’g’,’j’、’a’
PS>$sです。IndexOfAny($a)
0

もんの最初の文字の’a’

覚えていユーです。NETベースなので、最初のインデックスは0

エンコードで一部の繰り返してゲ

PS>$s=$s*3

PS>$s
abcdefghijkabcdefghijkabcdefghijk

オプションもありますので、最終発生時の部分文字列

PS>$sです。LastIndexOf(‘f’)
27

PS>s s.LastIndexOfAny(a a)
31

この最後のものは、文字列内の最後の’j’です–一致させたい文字の最後の出現です。一致するものがない場合は-1が返されます

PS>-s.IndexOf(‘z’)
-1
PS>PS s.LastIndexOf(‘z’)
-1

広告