texto comparar powershell string-comparison

texto - Cómo comparar el contenido de dos objetos de cadena en PowerShell



powershell lt eq (2)

En PowerShell tengo una matriz de objetos de cadena y tengo un objeto que contiene objetos de cadena. En Java puede hacer un .equals(aObject) para probar si los valores de la cadena coinciden, mientras que hacer una == prueba si los dos objetos se refieren a la misma ubicación en la memoria.

¿Cómo ejecuto un .equals(aObject) en powershell?

Estoy haciendo esto:

$arrayOfStrings[0].Title -matches $myObject.item(0).Title

Ambos tienen exactamente los mismos valores de cadena, pero obtengo un valor de retorno de falso. ¿Alguna sugerencia?


Puedes hacerlo de dos maneras diferentes.

Opción 1: el operador -eq

>$a = "is" >$b = "fission" >$c = "is" >$a -eq $c True >$a -eq $b False

Opción 2: El método .Equals() del objeto de string . Debido a que las cadenas en PowerShell son objetos .Net System.String , cualquier método de ese objeto se puede llamar directamente.

>$a.equals($b) False >$a.equals($c) True >$a|get-member -membertype method

Lista de métodos de System.String sigue.


Quieres hacer $arrayOfString[0].Title -eq $myPbiject.item(0).Title

-match es para la coincidencia de -match regulares (el segundo argumento es una expresión regular)