Auf Englisch lesen

Freigeben über


String.EndsWith Methode

Definition

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz mit einer angegebenen Zeichenfolge übereinstimmt.

Überlädt

EndsWith(String, Boolean, CultureInfo)

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz bei einem Vergleich unter Verwendung der angegebenen Kultur mit der angegebenen Zeichenfolge übereinstimmt.

EndsWith(String, StringComparison)

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz bei einem Vergleich unter Verwendung der angegebenen Vergleichsoption mit der angegebenen Zeichenfolge übereinstimmt.

EndsWith(Char)

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz mit dem angegebenen Zeichen übereinstimmt.

EndsWith(String)

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz mit der angegebenen Zeichenfolge übereinstimmt.

EndsWith(String, Boolean, CultureInfo)

Quelle:
String.Comparison.cs
Quelle:
String.Comparison.cs
Quelle:
String.Comparison.cs

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz bei einem Vergleich unter Verwendung der angegebenen Kultur mit der angegebenen Zeichenfolge übereinstimmt.

C#
public bool EndsWith (string value, bool ignoreCase, System.Globalization.CultureInfo? culture);
C#
public bool EndsWith (string value, bool ignoreCase, System.Globalization.CultureInfo culture);

Parameter

value
String

Die Zeichenfolge, die mit der Teilzeichenfolge am Ende dieser Instanz verglichen werden soll.

ignoreCase
Boolean

true, wenn die Groß-/Kleinschreibung beim Vergleich ignoriert werden soll, andernfalls false.

culture
CultureInfo

Kulturinformationen, die bestimmen, wie diese Instanz und value verglichen werden. Wenn culturenull ist, wird die aktuelle Kultur verwendet.

Gibt zurück

true, wenn der value-Parameter mit dem Ende dieser Zeichenfolge übereinstimmt, andernfalls false.

Ausnahmen

value ist null.

Beispiele

Im folgenden Beispiel wird ermittelt, ob eine Zeichenfolge am Ende einer anderen Zeichenfolge auftritt. Die EndsWith Methode wird mehrmals aufgerufen, wobei Die Groß-/Kleinschreibung, die Nichtberücksichtigung der Groß-/Kleinschreibung und verschiedene Kulturen verwendet wird, die die Ergebnisse der Suche beeinflussen.

C#
// This code example demonstrates the 
// System.String.EndsWith(String, ..., CultureInfo) method.

using System;
using System.Threading;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
        string msg1 = "Search for the target string \"{0}\" in the string \"{1}\".\n";
        string msg2 = "Using the {0} - \"{1}\" culture:";
        string msg3 = "  The string to search ends with the target string: {0}";
        bool result = false;
        CultureInfo ci;

        // Define a target string to search for.
        // U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
        string capitalARing = "\u00c5";

        // Define a string to search. 
        // The result of combining the characters LATIN SMALL LETTER A and COMBINING 
        // RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
        // LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
        string xyzARing = "xyz" + "\u0061\u030a";

        // Display the string to search for and the string to search.
        Console.WriteLine(msg1, capitalARing, xyzARing);

        // Search using English-United States culture.
        ci = new CultureInfo("en-US");
        Console.WriteLine(msg2, ci.DisplayName, ci.Name);

        Console.WriteLine("Case sensitive:");
        result = xyzARing.EndsWith(capitalARing, false, ci);
        Console.WriteLine(msg3, result);

        Console.WriteLine("Case insensitive:");
        result = xyzARing.EndsWith(capitalARing, true, ci);
        Console.WriteLine(msg3, result);
        Console.WriteLine();

        // Search using Swedish-Sweden culture.
        ci = new CultureInfo("sv-SE");
        Console.WriteLine(msg2, ci.DisplayName, ci.Name);

        Console.WriteLine("Case sensitive:");
        result = xyzARing.EndsWith(capitalARing, false, ci);
        Console.WriteLine(msg3, result);

        Console.WriteLine("Case insensitive:");
        result = xyzARing.EndsWith(capitalARing, true, ci);
        Console.WriteLine(msg3, result);
    }
}

/*
This code example produces the following results (for en-us culture):

Search for the target string "Å" in the string "xyza°".

Using the English (United States) - "en-US" culture:
Case sensitive:
  The string to search ends with the target string: False
Case insensitive:
  The string to search ends with the target string: True

Using the Swedish (Sweden) - "sv-SE" culture:
Case sensitive:
  The string to search ends with the target string: False
Case insensitive:
  The string to search ends with the target string: False

*/

Hinweise

Diese Methode vergleicht den value Parameter mit der Teilzeichenfolge am Ende dieser Zeichenfolge, die die gleiche Länge hat wie value, und gibt einen Wert zurück, der angibt, ob sie gleich sind. Um gleich zu sein, value muss ein Verweis auf dieselbe instance oder mit dem Ende dieser Zeichenfolge übereinstimmen.

Diese Methode führt einen Wortvergleich (kultursensitiv) unter Verwendung der angegebenen Groß- und Kleinschreibung und Kultur durch.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

EndsWith(String, StringComparison)

Quelle:
String.Comparison.cs
Quelle:
String.Comparison.cs
Quelle:
String.Comparison.cs

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz bei einem Vergleich unter Verwendung der angegebenen Vergleichsoption mit der angegebenen Zeichenfolge übereinstimmt.

C#
public bool EndsWith (string value, StringComparison comparisonType);
C#
[System.Runtime.InteropServices.ComVisible(false)]
public bool EndsWith (string value, StringComparison comparisonType);

Parameter

value
String

Die Zeichenfolge, die mit der Teilzeichenfolge am Ende dieser Instanz verglichen werden soll.

comparisonType
StringComparison

Einer der Enumerationswerte, die bestimmen, wie diese Zeichenfolge und value verglichen werden.

Gibt zurück

true, wenn der value-Parameter mit dem Ende dieser Zeichenfolge übereinstimmt, andernfalls false.

Attribute

Ausnahmen

value ist null.

comparisonType ist kein StringComparison-Wert.

Beispiele

Im folgenden Beispiel wird bestimmt, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge endet. Die Ergebnisse werden von der Wahl der Kultur beeinflusst, ob der Fall ignoriert wird und ob ein Ordnungsvergleich durchgeführt wird.

C#
// This example demonstrates the 
// System.String.EndsWith(String, StringComparison) method.

using System;
using System.Threading;

class Sample 
{
    public static void Main() 
    {
        string intro = "Determine whether a string ends with another string, " +
                   "using\n  different values of StringComparison.";

        StringComparison[] scValues = {
            StringComparison.CurrentCulture,
            StringComparison.CurrentCultureIgnoreCase,
            StringComparison.InvariantCulture,
            StringComparison.InvariantCultureIgnoreCase,
            StringComparison.Ordinal,
            StringComparison.OrdinalIgnoreCase };

        Console.WriteLine(intro);

        // Display the current culture because the culture-specific comparisons
        // can produce different results with different cultures.
        Console.WriteLine("The current culture is {0}.\n", 
                       Thread.CurrentThread.CurrentCulture.Name);
        
        // Determine whether three versions of the letter I are equal to each other. 
        foreach (StringComparison sc in scValues)
        {
            Console.WriteLine("StringComparison.{0}:", sc);
            Test("abcXYZ", "XYZ", sc);
            Test("abcXYZ", "xyz", sc);
            Console.WriteLine();
        }
    }

    protected static void Test(string x, string y, StringComparison comparison)
    {
        string resultFmt = "\"{0}\" {1} with \"{2}\".";
        string result = "does not end";

        if (x.EndsWith(y, comparison))
            result = "ends";
        Console.WriteLine(resultFmt, x, result, y);
    }
}

/*
This code example produces the following results:

Determine whether a string ends with another string, using
  different values of StringComparison.
The current culture is en-US.

StringComparison.CurrentCulture:
"abcXYZ" ends with "XYZ".
"abcXYZ" does not end with "xyz".

StringComparison.CurrentCultureIgnoreCase:
"abcXYZ" ends with "XYZ".
"abcXYZ" ends with "xyz".

StringComparison.InvariantCulture:
"abcXYZ" ends with "XYZ".
"abcXYZ" does not end with "xyz".

StringComparison.InvariantCultureIgnoreCase:
"abcXYZ" ends with "XYZ".
"abcXYZ" ends with "xyz".

StringComparison.Ordinal:
"abcXYZ" ends with "XYZ".
"abcXYZ" does not end with "xyz".

StringComparison.OrdinalIgnoreCase:
"abcXYZ" ends with "XYZ".
"abcXYZ" ends with "xyz".

*/

Hinweise

Die EndsWith -Methode vergleicht den value Parameter mit der Teilzeichenfolge am Ende dieser Zeichenfolge und gibt einen Wert zurück, der angibt, ob sie gleich sind. Um gleich zu sein, value muss ein Verweis auf dieselbe Zeichenfolge sein, muss die leere Zeichenfolge ("") sein oder mit dem Ende dieser Zeichenfolge übereinstimmen. Der Von der EndsWith -Methode durchgeführte Vergleichstyp hängt vom Wert des comparisonType Parameters ab.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

EndsWith(Char)

Quelle:
String.Comparison.cs
Quelle:
String.Comparison.cs
Quelle:
String.Comparison.cs

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz mit dem angegebenen Zeichen übereinstimmt.

C#
public bool EndsWith (char value);

Parameter

value
Char

Das Zeichen, das mit dem Zeichen am Ende dieser Instanz verglichen werden soll.

Gibt zurück

true, wenn value mit dem Ende dieser Instanz übereinstimmt; andernfalls false.

Hinweise

Diese Methode führt einen Ordnungsvergleich (groß- und kulturunabhängig) durch.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

EndsWith(String)

Quelle:
String.Comparison.cs
Quelle:
String.Comparison.cs
Quelle:
String.Comparison.cs

Bestimmt, ob das Ende dieser Zeichenfolgeninstanz mit der angegebenen Zeichenfolge übereinstimmt.

C#
public bool EndsWith (string value);

Parameter

value
String

Die Zeichenfolge, die mit der Teilzeichenfolge am Ende dieser Instanz verglichen werden soll.

Gibt zurück

true, wenn value mit dem Ende dieser Instanz übereinstimmt; andernfalls false.

Ausnahmen

value ist null

Beispiele

Im folgenden Beispiel wird angegeben, ob jede Zeichenfolge in einem Array mit einem Punkt (".") endet.

C#
using System;

public class Example
{
   public static void Main()
   {
      String[] strings = { "This is a string.", "Hello!", "Nothing.", 
                           "Yes.", "randomize" };
      foreach (var value in strings) {
         bool endsInPeriod = value.EndsWith(".");
         Console.WriteLine("'{0}' ends in a period: {1}", 
                           value, endsInPeriod);
      }                            
   }
}
// The example displays the following output:
//       'This is a string.' ends in a period: True
//       'Hello!' ends in a period: False
//       'Nothing.' ends in a period: True
//       'Yes.' ends in a period: True
//       'randomize' ends in a period: False

Im folgenden Beispiel wird eine StripEndTags Methode definiert, die die EndsWith(String) -Methode verwendet, um HTML-Endtags vom Ende einer Zeile zu entfernen. Beachten Sie, dass die StripEndTags Methode rekursiv aufgerufen wird, um sicherzustellen, dass mehrere HTML-Endtags am Zeilenende entfernt werden.

C#
using System;

public class EndsWithTest {
    public static void Main() {

        // process an input file that contains html tags.
        // this sample checks for multiple tags at the end of the line, rather than simply
        // removing the last one.
        // note: HTML markup tags always end in a greater than symbol (>).

        string [] strSource = { "<b>This is bold text</b>", "<H1>This is large Text</H1>",
                "<b><i><font color=green>This has multiple tags</font></i></b>",
                "<b>This has <i>embedded</i> tags.</b>",
                "This line simply ends with a greater than symbol, it should not be modified>" };

        Console.WriteLine("The following lists the items before the ends have been stripped:");
        Console.WriteLine("-----------------------------------------------------------------");

        // print out the initial array of strings
        foreach ( string s in strSource )
            Console.WriteLine( s );

        Console.WriteLine();

        Console.WriteLine("The following lists the items after the ends have been stripped:");
        Console.WriteLine("----------------------------------------------------------------");

        // print out the array of strings
        foreach (var s in strSource)
            Console.WriteLine(StripEndTags(s));
    }

    private static string StripEndTags( string item ) {

        bool found = false;

        // try to find a tag at the end of the line using EndsWith
        if (item.Trim().EndsWith(">")) {

            // now search for the opening tag...
            int lastLocation = item.LastIndexOf( "</" );

            // remove the identified section, if it is a valid region
            if ( lastLocation >= 0 ) {
                found = true;
                item =  item.Substring( 0, lastLocation );
            }
        }

        if (found)
           item = StripEndTags(item);

        return item;
    }
}
// The example displays the following output:
//    The following lists the items before the ends have been stripped:
//    -----------------------------------------------------------------
//    <b>This is bold text</b>
//    <H1>This is large Text</H1>
//    <b><i><font color=green>This has multiple tags</font></i></b>
//    <b>This has <i>embedded</i> tags.</b>
//    This line simply ends with a greater than symbol, it should not be modified>
//
//    The following lists the items after the ends have been stripped:
//    ----------------------------------------------------------------
//    <b>This is bold text
//    <H1>This is large Text
//    <b><i><font color=green>This has multiple tags
//    <b>This has <i>embedded</i> tags.
//    This line simply ends with a greater than symbol, it should not be modified>

Hinweise

Diese Methode vergleicht value mit der Teilzeichenfolge am Ende dieser instance, die die gleiche Länge hat wie value, und gibt einen Hinweis zurück, ob sie gleich sind. Um gleich zu sein, value muss ein Verweis auf denselben instance oder mit dem Ende dieser instance übereinstimmen.

Diese Methode führt unter Verwendung der aktuellen Kultur einen Vergleich zwischen Groß-/Kleinschreibung und Kultur durch.

Hinweise für Aufrufer

Wie unter Bewährte Methoden für die Verwendung von Zeichenfolgen erläutert, sollten Sie das Aufrufen von Zeichenfolgenvergleichsmethoden vermeiden, die Standardwerte ersetzen, und stattdessen Methoden aufrufen, die explizite Angabe von Parametern erfordern. Um zu bestimmen, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge endet, indem Sie die Zeichenfolgenvergleichsregeln der aktuellen Kultur verwenden, signalisieren Sie Ihre Absicht explizit, indem Sie die EndsWith(String, StringComparison) Methodenüberladung mit dem Wert von CurrentCulture für ihren comparisonType Parameter aufrufen. Wenn Sie keinen linguistischen Vergleich benötigen, sollten Sie die Verwendung von Ordinalin Erwägung ziehen.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0