PowerShell-strengen inneholder
Personvern & Informasjonskapsler
dette nettstedet bruker informasjonskapsler. Ved å fortsette godtar du bruken av dem. Lær mer, inkludert hvordan du kontrollerer informasjonskapsler.
Hvordan kan du sjekke om En PowerShell-streng inneholder et tegn eller substring?
Du kan bli fristet til å prøve dette:
PS > $s = ‘abcdefghijk’
PS> $s-inneholder ‘f’
Falsk
men –inneholder er for å arbeide med innholdet i matriser. SÅ DU kan gjøre dette:
PS > ($S.ToCharArray ())- inneholder ‘f’
True
du konverterer implisitt strengen ‘f’ til å gjøre sammenligningen. Din sammenligning er faktisk denne
PS> ($s.ToCharArray()) -inneholder ‘f’True
DET er greit for et enkelt tegn, MEN hvis du ønsker å teste en delstreng
PS >$s-inneholder ‘def’
False
PS>($S.ToCharArray()) -inneholder ‘def’
false
denne tilnærmingen vil ikke fungere.
Du må bruke Indexof-metoden
PS> $S.Indexof(‘f’)
5
PS> $S.Indexof(‘def’)
3
verdien som returneres er posisjonen TIL DET FØRSTE tegnet i substringen.
DU kan også teste en rekke tegn
PS> $a = ‘g’,’j’,’a’
PS> $S.IndexOfAny($a)
0
igjen får du det FØRSTE tegnet i dette tilfellet ‘a’
Husk powershell er.net basert så den første indeksen er 0
lar få litt repetisjon i vårt mål
ps> $s = $s * 3
ps> $s
abcdefghijkabcdefghijkabcdefghijk
du Også har muligheten til å plukke den siste Forekomsten av substringen
ps> $s.LastIndexOf (‘f’)
27
PS> $S.LastIndexOfAny($a)
31
Denne siste er den siste ‘j’ i strengen – det er den siste forekomsten av noen av tegnene du ønsket å matche –
hvis det ikke er en kamp du får -1 returnert
PS> $S.IndexOf(‘z’)
-1
PS> $S.LastIndexOf(‘z’)
-1
>
Leave a Reply