Podczas pracy na stringach nie jeden raz będziemy zmuszeniu do edycji tych danych. Obojętnie czy są to dane przez nas wprowadzane na bieżąco w programie, czy tworzone w tym programie. W tym wpisie przedstawię i postaram się omówić większość metod umożliwiających pracę na stringach.
- Chars
Właściwością tą pobieramy pojedynczy znak z podanego indeksu.
- Length
Aby dowiedzieć się ile znaków zawiera dane wyrażenie wykorzystamy podaną właściwość Stringa.
int dlugosc = obiekt_string.Length;
- Concat()
Podobnie jak operator +, metoda ta służy do łączenia dwóch lub więcej łańcuchów.
obiekt_string = String.Concat(pierwszy_tekst, drugi_tekst);
- Contains()
W celu wyszukania danego wyrażenia w danym łańcuchu wykorzystamy metodę Contains – jeżeli dane wyrażenie zostanie odnalezione, zwrócą ona wartość true, w przeciwnym wypadku false. Metoda ta rozróżnia wielkość liter, więc należy o tym pamiętać pisząc kod.
bool czy_jest = obiekt_string.Contains("szukam");
- Equals()
Metoda ta określa czy oba podane ciągi mają tą samą wartość, jeżeli tak to zwraca true. Zwraca uwagę na wielkość znaków.
bool to_samo = obiekt_string.Equals(obiekt2_string);
- Format()
Konwertuje wartości wstawianych obiektów i wstawia je do innego ciągu znaków.
String obiekt_string = String.Format("To {0} jest cyfra dziesiec", 10);
- Insert()
Metoda ta wstawia w dane miejsce żądany ciąg znaków. Przyjmuje ona kilka parametrów – pierwszym jest pozycja od której ma być dodawany ciąg znaków, który został wpisany jako drugi parametr.
obiekt_string = obiekt_string.Insert(10, "dodany ciag)";
- Join()
Łączy elementy jednej tablicy w jeden ciąg znaków. Metoda ta przyjmuje dwa parametry – pierwszym jest znak rozdzielający łączone elementy, a drugim nazwa tablicy.
- LastIndexOf()
Zwraca pozycję ostatniego wystąpienia określonego znaku lub ciągu w danym łańcuchu.
- Remove()
W celu usunięcia pewnego fragmentu ciągu znaków wykorzystamy metodę remove. Parametry jakie przyjmuje to początek i koniec ciągu znaków, jaki ma zostać usunięty.
- Replace()
Metoda replace podmienia żądane elementy na inne. Przyjmuje dwa parametry, gdzie pierwszy określa który element ma zostać zmieniony, a drugi na jaki.
obiekt_string = obiekt_string.Replace('a', 'b');
- Split()
Metoda ta dzieli podany ciąg znaków według podanego separatora. Działa odwrotnie jak metoda join().
String[] output = obiekt_string.Split('a');
Dodatkowo, split może zawierać więcej parametrów wejściowych umożliwiających lepsze skonfigurowanie wyłuskiwania danych z ciągu znaków. Po więcej szczegółów na chwilę obecną odnoszę do dokumentacji
- Substring()
W celu skopiowania części znaków danego ciągu, należy użyć podanej metody z wpisaniem jako parametr początkowej pozycji, od którego mają zostać kopiowane znaki, oraz liczbę znaków.
- ToCharArray()
Kopiuje dany zakres znaków do tablicy.
- ToLower()
Metoda ta pozwala zmienić wszystkie znaki na małe.
obiekt1_string = obiekt2_string.ToLower();
- ToString()
Konwertuje dany ciąg na string.
obiekt1_string = obiekt2_string.ToString();
- ToUpper()
Metoda ta pozwala zmienić wszystkie znaki na duże.
obiekt1_string = obiekt2_string.ToUpper();
- Trim()
Metodą tą usuwany białe znaki znajdujące się na początku i na końcu danego łańcucha znaków.
obiekt1_string = obiekt2_string.Trim('*', ' ');
obiekt1_string = obiekt2_string.Trim();
- TrimEnd()
Aby usunąć białe znaki znajdujące się tylko na końcu łańcucha należy wykorzystać metodę TrimEnd
obiekt1_string = obiekt2_string.TrimEnd('*', ' ');
obiekt1_string = obiekt2_string.TrimEnd();
- TrimStart()
Jeżeli chcemy usunąć białe znaki tylko na początku danego łańcucha znaków używamy tej metody – TrimStart
obiekt1_string = obiekt2_string.TrimStart('*', ' ');
obiekt1_string = obiekt2_string.TrimStart();
Aby utworzyć zmienną typu string wykorzystujemy następujący zapis:
String obiekt_string = new String();
Pozostałe metody wraz z opisem klasy String można znaleźć w dokumentacji znajdującej się na stronie microsoftu
Przepraszam za błędne nazywanie metod funkcjami, oraz stosowanie nieodpowiedniego nazewnictwa. Pozostała naleciałość z C, oraz C++. W razie błędów proszę o poprawianie mnie. Dzięki za wyrozumiałość.