546 votes

Comment puis-je vérifier si une chaîne est nulle ou vide en PowerShell ?

Y a-t-il une fonction intégrée similaire à IsNullOrEmpty pour vérifier si une chaîne est nulle ou vide, en PowerShell ?

Je n'ai pas encore trouvé et s'il existe une méthode intégrée, je ne veux pas écrire une fonction pour cela.

2 votes

Espérons que cela aide rkeithhill.wordpress.com/2007/01/06/…

10 votes

Eh bien, vous utilisez .NET, donc ne pouvez-vous pas appeler String.IsNullOrEmpty ?

0voto

Daikyu Points 59

Vous pouvez utiliser une déclaration conditionnelle avec les méthodes statiques IsNullOrWhitespace() et isNullOrEmpty() pour tester les espaces blancs ou une valeur nulle. Par exemple, avant d'insérer dans une base de données MySQL, je parcours les valeurs que j'entrerai et j'utilise la condition pour éviter les valeurs nulles ou les espaces blancs.

// RowData est itératif, dans ce cas un hashtable,
// $_.values cible les valeurs du hashtable

$rowData | ForEach-Object {
    if(-not [string]::IsNullOrEmpty($_.values) -and
        -not [string]::IsNullOrWhiteSpace($_.values)) {
            // Insérez ici la logique pour utiliser les valeurs non nulles/espaces blancs
    }
}

-2voto

KERR Points 358

Un hack un peu lié - vous pouvez exclure les valeurs vides (par exemple, Excel a l'habitude d'inclure une cellule vide supplémentaire lors de la copie dans PowerShell) comme ceci :

get-clipboard | ? {$_}

1 votes

Qu'est-ce que get-clipboard et en quoi cela est-il lié à cette question ? S'il s'agit de ce que je pense, l'OP n'a pas indiqué qu'il essayait de vérifier la valeur du premier élément de son stockage du presse-papiers Windows du tout (auquel cas cela ne répondrait pas à la question).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X