PowerShell string contains
Privacy& Cookies
Ez az oldal cookie-kat használ. A folytatással elfogadja a használatukat. Tudjon meg többet, beleértve a cookie-k vezérlését is.
hogyan lehet ellenőrizni, hogy egy PowerShell karakterlánc tartalmaz-e karaktert vagy hordozót?
lehet, hogy a kísértés, hogy megpróbálja ezt:
PS> $s = “abcdefghijk”
PS> $s-tartalmaz ” f ”
False
de –tartalmaz is dolgozik a tartalmát tömbök. Tehát ezt megteheti:
PS> ($s.Tocharray()) -tartalmazza az ” f “
True
implicit módon konvertálja az ” f ” karakterláncot az összehasonlítás érdekében. Az összehasonlítás valójában ez a
PS > ($s.Tocharararray()) -tartalmaz ‘f’
True
Ez rendben van egy karakter, de ha azt szeretnénk, hogy teszteljék a substring
p> $s-tartalmaz ‘def’
False
PS> ($s.ToCharArray()) -tartalmaz ‘def’
false
Ez a megközelítés nem fog működni.
az Indexof metódust kell használnia
p> $s.Indexof(‘f’)
5
PS> $s.Indexof(‘def’)
3
a visszaadott érték az alrendszer első karakterének pozíciója.
Azt is teszt egy sor karakter
PS> $a = ‘g’,’j’,’a’
PS> $s.IndexOfAny($a)
0
Megint te az ELSŐ karaktert, ebben az esetben az ” a ”
ne feledje, PowerShell van .NETTÓ alapú, így az első index 0
Lehetővé teszi, hogy kap egy kis ismétlés a cél
PS> $s = $s * 3
PS> $s
abcdefghijkabcdefghijkabcdefghijk
Meg is van a lehetőség, hogy megtaláld az UTOLSÓ esemény a substring
PS> $s.LastIndexOf (‘f’)
27
p >$s.LastIndexOfAny($a)
31
ez utóbbi az utolsó ” j ” a karakterláncban – ez az utolsó előfordulása bármelyik karakter kívánt egyezik.
Ha nincs egyezés kapsz -1 vissza
p> $s.IndexOf(‘z’)
-1
PS> $s.LastIndexOf(‘z’)
-1
>
Leave a Reply