Powrót do C#

Formatowanie tekstu

Pierwszą rzeczą, jaką będzie robił nasz program to komunikacja z użytkownikiem. Moim zdaniem wiedza na temat formatowaniu tekstu jest kluczowa do budowania programów. Ponieważ użytkownik, korzystając z programu, zazwyczaj chce uzyskać jakąś informację, program musi wiedzieć, co ma robić, gdy użytkownik podejmuje jakieś działanie. Jedyną drogą komunikacji, jaką chwilowo mamy jest „Console.ReadLine()”, kluczowa dla późniejszych lekcji będzie dla nas wiedza jak wprowadzony tekst sformatować, obrobić i czytać. Dla programu nie jest oczywiste, że wprowadzony tekst Maciek, Michał, czy Piotrek to imię, dla programu to ciąg znaków, mający swoją długość, początek i koniec. Dopiero dzięki nam i pewnym wyróżnionym dla nas cechom, program rozpozna czy jest to imię, przedmiot czy polecenie. Wpisany tekst ”   Piotrek    ” wcale nie jest równoznaczny wpisanemu tekstowi „Piorek”, ponieważ ten pierwszy posiada spacje przed słowem i po słowie, ma inną długość i dla programu nie jest tym samym. Każdy tekst, słowo składa się ze znaków, których rodzaj to „Char”, w zależności od tego, w jakim kraju jesteśmy, jaki system mamy zainstalowany, nasz komputer dobiera znaki na podstawie ich wartości numerycznych w tabeli. Podstawową tabelą znaków jest tabela ASCII, która zawiera podstawowe znaki od 0 do 127 (tutaj pełna tabela ASCII), dodatkowo znaki od 128 do 255 są dodawane na podstawie tabeli ISO, która jest różna w zależności od tego, z jakiego języka korzystamy na komputerze. Aby sprawdzić, jaki numer w tabeli ma znak wystarczy wywołać metodę:

która wyświetli reprezentację numeryczną znaku i zamieni liczbę na znak, tak więc słowo:

”   Piotrek    ” odebrane będzie przez komputer jako „32,32,32,80,105,111,116,114,101,107,32,32,32” a głębiej jako kombinację zer i jedynek, skupmy się jednak na reprezentacji dziesiętnej, tak więc „32,32,32,80,105,111,116,114,101,107,32,32,32” wcale nie jest równe „80,105,111,116,114,101,107”. Omówimy sobie teraz kilka bardzo przydatnych elementów, które pomogą nam podczas obróbki tekstu. Aby sprawdzić długość tekstu, należy wykorzystać metodę „Length”:

Puste pola po słowie lub przed słowem, zazwyczaj nazywa się Whitespace, występują zazwyczaj w bazach danych, gdy wpis ma z góry narzuconą wielkość, a tekst jest krótszy od tej długości, wtedy pusta przestrzeń wypełniana jest spacjami. Aby ją usunąć, stosuje się metody:

Ponadto metoda „Trim()” usunie wszystkie spacje, nawet te wewnątrz tekstu. Bardzo prosto sprowadza się tekst do małych liter i dużych:

Tekst można uciąć, zarówno z lewej jak i z prawej strony, można również wyciąć kawałek ze środka. Położenie znaków w tekście numerowane jest od 0:

Tak więc, jeśli chcielibyśmy usunąć literę „e” to nie znajduje się ona na pozycji szóstej a na pozycji piątej. Przykład wycinania tekstu:

Jeśli chcielibyśmy wydobyć literę z konkretnej pozycji w tekście, wystarczy wpisać jej indeks w nawiasie kwadratowym []. Jeśli chcielibyśmy pobrać literę „e” ze słowa „Piotrek”, wyglądałoby to następująco:

Elementy tekstu można zamieniać, zarówno grupy znaków, jak i pojedyncze znaki, używamy w tym celu metody „Replace” i wskazujemy, jaki element ma być zamieniony na jaki:

Metoda „Compare” sprawdzi czy tekst jest taki sam, jeśli tak jest zwróci true jeśli nie, zwróci false:

Ogólnie tego typu działania, przydadzą się nam później podczas wykonywania pętli lub sprawdzania warunku instrukcji. Metoda Contains prowadzi czy wyrażenie znajduje się w naszej zmiennej, może to być długi, krótki tekst lub pojedyncza litera.

Metoda Replece pozwoli na zamianę wybranego znaku lub ciągu znaków na inny zdefiniowany przez użytkownika:

Używając metody Rmove, usuniemy z ciągu wybrany element lub elementy. Wstawimy je, używając metody Insert:

Metoda Split pozwoli na podział naszego tekstu w określony sposób i stworzenie z niego tablicy, wyodrębnienie słów, zliczanie ich itp.

To są podstawowe metody, które mogą okazać się bardzo użyteczne podczas tworzenia programów na dalszym etapie kursu.


  1. Ktoś popełnił błąd w tekście „Ananas, andnas, ananas dla nas.”, używając metody Remove i Insert popraw tekst.

 

Permalink do tego artykułu: https://visualmonsters.cba.pl/c/formatowanie-tekstu/