string PowerShell conține
Privacy& Cookies
acest site foloseste cookie-uri. Continuând, sunteți de acord cu utilizarea lor. Aflați mai multe, inclusiv cum să controlați cookie-urile.
cum puteți verifica dacă un șir PowerShell conține un caracter sau un subșir?
ai putea fi tentat să încerci asta:
PS> $s = ‘abcdefghijk’
PS> $s-conține ‘F’
fals
dar –conține este pentru lucrul cu conținutul matricelor. Deci, ai putea face acest lucru:
PS> ($s.Tocararray()) -conține ‘F’
adevărat
sunteți implicit de conversie șir ” f ” pentru a face comparația. Comparația dvs. este de fapt aceasta
PS> ($s.Tocararray()) -conține ‘F’
adevărat
asta e bine pentru un singur caracter, dar dacă doriți să testați un subșir
PS> $s-conține ‘Def’
False
PS> ($s.Tocararray()) -conține ‘Def’
False
această abordare nu va funcționa.
trebuie să utilizați metoda Indexof
PS>$s.Indexof(‘f’)
5
PS>$s.Indexof(‘def’)
3
valoarea returnată este poziția primului caracter din subșir.
puteți testa, de asemenea, o o serie de caractere
PS> $a = ‘g’,’j’,’a’
PS> $s.IndexOfAny($a)
0
din nou veți obține primul caracter în acest caz,”A”
amintesc PowerShell este.net bazat astfel încât primul index este 0
să obțineți unele repetiție în ținta noastră
PS> $S = $S * 3
PS> $s
abcdefghijkabcdefghijkabcdefghijk
aveți, de asemenea, opțiunea de alegerea ultimei apariții a substringului
PS> $s.LastIndexOf (‘f’)
27
PS> $s.lastindexofany ($a)
31
acesta este ultimul ” j ” din șir – este ultima apariție a oricăruia dintre caracterele pe care ați dorit să le potriviți.
dacă nu există o potrivire veți obține -1 returnat
PS >$s.IndexOf(‘z’)
-1
PS > $s.lastindexof(‘z’)
-1
Leave a Reply