Za dużo spacji – wersja w Powershell

Jakiś czas temu pokazałem jak za pomocą krótkiego kodu w SQL usunąć wszystkie wielokrotne spacje w tekście i zastąpić je spacjami pojedynczymi.

https://xpil.eu/PCJ1Y

Dziś króciutko ten sam trick w Powershell, w razie gdyby ktoś kiedyś potrzebował pozbyć się wielokrotnych spacji z tekstu w windowsowym skrypcie.

$tekst = "Ala     ma kota      i    dwie     wydry."
$tekst.Replace(" ", "{}").Replace("}{", "").Replace("{}", " ")

Efekt?

Ala ma kota i dwie wydry.

Jak widać metoda działa identycznie. Najpierw zamieniamy każdą spację na {}, potem usuwamy każdą parę }{, na koniec zamieniamy pozostałe {} na pojedynczą spację.

Prawdę mówiąc sposób ten nie przestaje mnie zadziwiać. To jedna z tych rzeczy, które są proste algorytmicznie, krótkie w zapisie i działają uniwersalnie dla dowolnych tekstów.

Zapisz się
Powiadom o
guest
6 komentarzy
Inline Feedbacks
View all comments
Hoko
2019/12/04 09:47

A wyrażenia regularne to w tych ustrojstwach nie działają? 🙂

Hoko
Reply to  xpil
2019/12/04 12:02

To było napisać wyraźnie, że to dla zabawy, bo jakiś początkujący programista na tę poradę trafi i zacznie wyważać otwarte drzwi 😉

Darjusz
2019/12/05 07:45

Wypróbowałem to u siebie i mi nie wyszło. Kot jest, ale nie wiem, co z wydrami…

6
0
Would love your thoughts, please comment.x
()
x