Sdílet prostřednictvím


Oříznutí a odstranění znaků

Pokud analyzujete větu podle jednotlivých slov, můžete narazit na slova, která mají na některém konci slova volné místo (tzv. prázdné znaky). V takovém případě můžete použít jednu z metod pro ořezávání ze třídy System.String pro odebrání libovolného počtu mezer nebo jiných znaků z určené pozice v řetězci. Následující tabulka popisuje dostupné metody pro ořezávání.

Název metody

Pomocí

String.Trim

Odstraní prázdné znaky ze začátku a konce řetězce.

String.TrimEnd

Odstraní znaky zadané v poli znaků od konce řetězce.

String.TrimStart

Odstraní znaky zadané v poli znaků od začátku řetězce.

String.Remove

Odebere určený počet znaků ze zadaného místa v řetězci podle indexu pozice.

Funkce Trim

Můžete snadno odebrat mezery z obou konců řetězce pomocí metody String.Trim, jak je znázorněno v následujícím příkladu.

Dim MyString As String = " Big   "
Console.WriteLine("Hello{0}World!", MyString)
Dim TrimString As String = MyString.Trim()
Console.WriteLine("Hello{0}World!", TrimString)
string MyString = " Big   ";
Console.WriteLine("Hello{0}World!", MyString);
string TrimString = MyString.Trim();
Console.WriteLine("Hello{0}World!", TrimString);
String^ MyString = " Big   ";
Console::WriteLine("Hello{0}World!", MyString);
String^ TrimString = MyString->Trim();
Console::WriteLine("Hello{0}World!", TrimString);
string MyString = " Big   ";
Console.WriteLine("Hello{0}World!", MyString);
string TrimString = MyString.Trim();
Console.WriteLine("Hello{0}World!", TrimString);

Tento kód zobrazí následující řádky do konzoly.

Hello Big   World!
HelloBigWorld! 

TrimEnd

Metoda String.TrimEnd odstraní znaky od konce řetězce a vytvoří nový objekt řetězce. Pole znaků je předáno této metodě pro určení znaků, které mají být odstraněny. Pořadí prvků v poli znaků nemá vliv na operaci ořezávání. Ořezávání přestane, když je nalezen znak, který není zadán v poli.

Následující příklad odebere poslední písmena řetězce pomocí metody TrimEnd. V tomto příkladu jsou pozice znaku 'r' a 'W' přehozeny pro znázornění, že nezáleží na pořadí znaků v poli. Všimněte si, že tento kód odstraní poslední slovo z MyString a část prvního.

Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"r","o","W","l","d","!"," "}
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
String^ MyString = "Hello World!";
array<Char>^ MyChar = {'r','o','W','l','d','!',' '};
String^ NewString = MyString->TrimEnd(MyChar);
Console::WriteLine(NewString);
string MyString = "Hello World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);

Tento kód se zobrazí He na konzolu.

Následující příklad odebere poslední slovo řetězce pomocí metody TrimEnd. V tomto kódu čárka následuje slovo Hello, a protože čárka není zadána v poli znaků, které chcete oříznout, ořezávání končí čárkou.

Dim MyString As String = "Hello, World!"
Dim MyChar() As Char = {"r","o","W","l","d","!"," "}
Dim NewString As String = MyString.TrimEnd(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);
String^ MyString = "Hello, World!";
array<Char>^ MyChar = {'r','o','W','l','d','!',' '};
String^ NewString = MyString->TrimEnd(MyChar);
Console::WriteLine(NewString);
string MyString = "Hello, World!";
char[] MyChar = {'r','o','W','l','d','!',' '};
string NewString = MyString.TrimEnd(MyChar);
Console.WriteLine(NewString);

Tento kód se zobrazí Hello, na konzolu.

TrimStart

Metoda String.TrimStart je podobná metodě String.TrimEnd s výjimkou toho, že vytvoří nový řetězec odebráním znaků od začátku existujícího objektu řetězce. Pole znaků je předáno metodě TrimStart pro určení znaků, které mají být odstraněny. Tak jako u metody TrimEnd, pořadí prvků v poli znaků neovlivní operace ořezávání. Ořezávání přestane, když je nalezen znak, který není zadán v poli.

Následující příklad odebere první slovo řetězce. V tomto příkladu pozici 'l' znak a 'H' znak se zpět ke znázornění, že nemá pořadí znaků v poli není záležitost.

Dim MyString As String = "Hello World!"
Dim MyChar() As Char = {"e","H","l","o"," " }
Dim NewString As String = MyString.TrimStart(MyChar)
Console.WriteLine(NewString)
string MyString = "Hello World!";
char[] MyChar = {'e', 'H','l','o',' ' };
string NewString = MyString.TrimStart(MyChar);
Console.WriteLine(NewString);
String^ MyString = "Hello World!";
array<Char>^ MyChar = {'e', 'H','l','o',' ' };
String^ NewString = MyString->TrimStart(MyChar);
Console::WriteLine(NewString);
string MyString = "Hello World!";
char[] MyChar = {'e', 'H','l','o',' ' };
string NewString = MyString.TrimStart(MyChar);
Console.WriteLine(NewString);

Tento kód se zobrazí World! na konzolu.

Remove

Metoda String.Remove odstraní určený počet znaků od určené pozice v existujícím řetězci. Tato metoda předpokládá index počítaný od nuly.

Následující příklad odebere deset znaků z řetězce počínaje pozicí pět v indexu počítaném od nuly.

Dim MyString As String = "Hello Beautiful World!"
Console.WriteLine(MyString.Remove(5,10))
string MyString = "Hello Beautiful World!";
Console.WriteLine(MyString.Remove(5,10));
String^ MyString = "Hello Beautiful World!";
Console::WriteLine(MyString->Remove(5,10));
string MyString = "Hello Beautiful World!";
Console.WriteLine(MyString.Remove(5,10));

Tento příklad zobrazuje Hello World! do konzoly.

Viz také

Další zdroje

Základní operace s řetězci