Co robicie gdy macie potrzebę dodania do listy gotowych ciągów znaków (lub liczb) jakiegoś tekstu na początku i końcu? Dla przykładu chcielibyście z przodu tekstu dodać słowo "przód", a tyłu słowo "tył" (prawda, że jestem kreatywny? ;D)
Macie | Chcecie uzyskać |
---|---|
|
|
Pewnie jest wiele sposobów na wykonanie tego zadania, ale jeżeli akurat żaden z nich nie przychodzi Wam do głowy, to może któryś z poniższych Was poratuje.
Tekst jest napisany pobieżnie bardziej jako wskazówka, niż dokładny instruktaż.
Notepad++
Na początek oprogramowanie darmowe jakim jest Notepad++.
Wklejacie posiadany tekst do okna edytora i uruchamiacie funkcję Szukaj → Zastąp (skrót klawiaturowy Ctrl + H).
Następnie należy wprowadzić wyrażenie regularne jak poniżej:
- Szukany tekst:
^(.+)$
- Zamień na:
przód-$1-tył
I nacisnąć przycisk Zamień wszystkie.
A w realu powinno to wyglądać jak na poniższym gifie.
Dodawanie tekstu przy pomocy wyrażeń regularnych w Notepad++ |
Proszę zwrócić uwagę, że w lewym dolnym rogu okna Zastąp, w sekcji Tryb szukania zaznaczona jest opcja Wyrażenia regularne
PowerShell
A teraz mój ulubieniec ostatnich czasów, czyli PowerShell ;)
O ile w Notepad++ tekst wklejany był do edytora o tyle w PowerShellu należy go "wkleić" do zmiennej tablicowej, bądź "kolekcji" - bo tak to się powinno zwać w PowerShellu.
Robi się to poniższym kodem:
$teksty = ("TEKST1111", "TEKST2222","TEKST3333","TEKST4444")
a następnie należy wydać polecenie, które doklei żądane przez nas wartości:
$teksty | foreach {write-host "przód-$_-tył"}
W realu ma to wyglądać jak poniżej.
Dodawanie tekstu do istniejących ciągów znakowych w PowerShellu |
Excel
No i na koniec program o którym chyba każdy pomyślał w celu wykonania dzisiejszego problemu :)
No więc będzie i Excel.
Teksty do przerobienia wklejamy w kolumnę np. A, zaś w kolumnie B podajemy jedną z poniższych formuł. Teoretycznie są one równoważne, chociaż wydaje mi się, że wersja z ampersandami jest odporna na wersje językowe Excela (bo w końcu nazwy formuł zmieniają się w zależności od wersji językowej Excela).
=ZŁĄCZ.TEKST("przód-";A1;"-tył")
=("przód-"&A1&"-tył")
Łączenie tekstów w Excelu |
Na powyższej animacji widać, że pomimo zastosowania różnych formuł, wynik w kolumnie B się nie zmienia. Obydwie pozwalają na osiągnięcie tego samego rezultatu.
Podsumowanie
Mam nadzieję, że komuś się powyższy tekst przyda.
Owszem, przy 4 tekstach do przerobienia, to żaden z powyższych sposobów nie będzie "wart zachodu". Ale jeżeli tekstów jest 20, 50, a może i więcej, to warto zaoszczędzić sobie nerwów i skorzystać z któregoś z nich.
Jeżeli będziecie mieli jakieś zadania z którymi nie będziecie mogli sobie poradzić to możecie skontaktować się ze mną poprzez formularz kontaktowy z prawej strony bloga.
Jeżeli znajdę czas (bardzo z nim krucho), to chętnie pomogę, ale przyznam szczerze, że preferuję wykonywanie powyższych zadań w kolejności Powershell, Notepad++, Excel.
Wyrażenia regularne rules!! Poza tym moim zdaniem otwieranie wielo-MB pliku i jego edycja będzie najszybsza w Notepad++. Co do Powershella ot ja po prostu przyzwyczaiłem się do Sh/Bash/Ksh/Perl/Python i wolę to tam zrobić, bo do z tym PS jakoś nie mogę się przeprosić.
OdpowiedzUsuńAle trzeba też przyznać, że edytor VSCode to Microsoftowi wyszedł i jest po prostu przekozak.