2013-10-15 11 views
0

Si j'ai une chaîne PowerShell par exemple "John Doe Bloggs" ou "John Bloggs". Et je voulais extraire le dernier mot après l'espace donc dans l'exemple ci-dessus ce serait "Bloggs" ce que REGEX utiliserais-je. La solution doit être un REGEX. J'ai googlé mon esprit et toujours pas plus près.Powershell REGEX extrait le dernier mot

Toute aide serait appréciée.

+0

Qu'est-ce que vous avez exactement 'google'? essayez quelque chose comme 'regex match fin de chaîne'. – Madbreaks

Répondre

3

Voici un exemple simple:

$string = 'John Doe Bloggs' 
$regex = '.+\s(.+)' 
$string -replace $regex,'$1' 

Bloggs 
+0

Merci, ça a marché comme un charme. à votre santé – Kam0106

1

Cette expression régulière trouvera le dernier mot dans l'entrée:

(?<word>\w+)[\s\,\.\?\!]*$ 

Le match est dans le groupe nommé word - l'expression entière correspond à la finale mot et espace optionnel/(un peu) de ponctuation. Les espaces/signes de ponctuation ne feront pas partie du groupe word.

3

Il est vraiment dommage que la réponse "doit" être une regex (je suppose que c'est une sorte de devoirs?) Parce que c'est assez simple sans.

$string = 'John Doe Bloggs'; 
$string.split(' ')[-1];