Articles

string PowerShell conține

X

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.

am înțeles!

reclame

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

reclame