Wie bekomme ich den Teilstring in C #?

Ich kann die ersten drei Zeichen mit der function unten erhalten.

Wie kann ich jedoch die Ausgabe der letzten fünf Zeichen ( Three ) mit der function Substring() . Oder andere String-function wird verwendet?

 static void Main() { string input = "OneTwoThree"; // Get first three characters string sub = input.Substring(0, 3); Console.WriteLine("Substring: {0}", sub); // Output One. } 

   

Wenn Ihre Eingabezeichenfolge weniger als fünf Zeichen lang sein kann, sollten Sie beachten, dass string.Substring eine ArgumentOutOfRangeException startIndex wenn das Argument startIndex negativ ist.

Um dieses potenzielle Problem zu lösen, können Sie den folgenden Code verwenden:

 string sub = input.Substring(Math.Max(0, input.Length - 5)); 

Oder expliziter:

 public static string Right(string input, int length) { if (length >= input.Length) { return input; } else { return input.Substring(input.Length - length); } } 
 string sub = input.Substring(input.Length - 5); 

Wenn Sie Erweiterungsmethoden verwenden können, wird dies unabhängig von der Stringlänge auf sichere Weise durchgeführt:

 public static string Right(this string text, int maxLength) { if (string.IsNullOrEmpty(text) || maxLength < = 0) { return string.Empty; } if (maxLength < text.Length) { return text.Substring(text.Length - maxLength); } return text; } 

Und es zu benutzen:

 string sub = input.Right(5); 
 static void Main() { string input = "OneTwoThree"; //Get last 5 characters string sub = input.Substring(6); Console.WriteLine("Substring: {0}", sub); // Output Three. } 

Teilzeichenfolge (0, 3) Gibt Teilzeichenfolge der ersten 3 Zeichen zurück. //Ein

Teilzeichenfolge (3, 3) Gibt Teilzeichenfolge der zweiten 3 Zeichen zurück. //Zwei

Teilzeichenfolge (6) Gibt die Teilzeichenfolge aller Zeichen nach der ersten 6 zurück. // Drei

Eine Möglichkeit besteht darin, die Length Eigenschaft der Zeichenfolge als Teil der Eingabe für Substring :

 string sub = input.Substring(input.Length - 5); // Retrieves the last 5 characters of input 

Hier ist eine schnelle Erweiterung Methode, die Sie verwenden können, die PHP-Syntax nachahmt. Fügen Sie der Code-Datei AssemblyName.Extensions hinzu, in der Sie die Erweiterung verwenden.

Dann könnten Sie aufrufen: input.SubstringReverse (-5) und es wird “Three” zurückgegeben.

Namespace AssemblyName.Extensions {

 public static class StringExtensions { ///  /// Takes a negative integer - counts back from the end of the string. ///  ///  ///  public static string SubstringReverse(this string str, int length) { if (length > 0) { throw new ArgumentOutOfRangeException("Length must be less than zero."); } if (str.Length < Math.Abs(length)) { throw new ArgumentOutOfRangeException("Length cannot be greater than the length of the string."); } return str.Substring((str.Length + length), Math.Abs(length)); } } 

}

z.B

  string str = null; string retString = null; str = "This is substring test"; retString = str.Substring(8, 9); 

Dieser Return-Teilstring

C # Teilzeichenfolge Beispielquelle:

Ein einfacher Weg, dies in einer Codezeile zu tun, wäre dies

 string sub = input.Substring(input.Length > 5 ? input.Length - 5 : 0); 

und hier ein paar Informationen über Operator? :

 string input = "OneTwoThree"; (if input.length >5) { string str=input.substring(input.length-5,5); } 

Teilzeichenfolge Diese Methode extrahiert Zeichenfolgen. Es erfordert die Position der Teilzeichenfolge (ein Startindex, eine Länge). Es gibt dann eine neue Zeichenfolge mit den Zeichen in diesem Bereich zurück.

Siehe ein kleines Beispiel:

 string input = "OneTwoThree"; // Get first three characters. string sub = input.Substring(0, 3); Console.WriteLine("Substring: {0}", sub); 

Ausgabe: Teilzeichenfolge: Eins

  // Get first three characters string sub = input.Substring(0, 3); Console.WriteLine("Substring: {0}", sub); // Output One. string sub = input.Substring(6, 5); Console.WriteLine("Substring: {0}", sub); //You'll get output: Three