String.EndsWith Method (String)
Determines whether the end of this string instance matches the specified string.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
-
Type:
System.String
The string to compare to the substring at the end of this instance.
| Exception | Condition |
|---|---|
| ArgumentNullException | value is null. |
This method compares value to the substring at the end of this instance that is the same length as value, and returns an indication whether they are equal. To be equal, value must be a reference to this same instance or match the end of this instance.
This method performs a word (case-sensitive and culture-sensitive) comparison using the current culture.
Notes to Callers:
As explained in Best Practices for Using Strings in the .NET Framework, we recommend that you avoid calling string comparison methods that substitute default values and instead call methods that require parameters to be explicitly specified. To determine whether a string ends with a particular substring by using the string comparison rules of the current culture, call the EndsWith(String, StringComparison) method overload with a value of StringComparison.CurrentCulture for its comparisonType parameter.
The following example indicates whether each string in an array ends with a period (".").
Module Example Public Sub Main() Dim strings() As String = { "This is a string.", "Hello!", "Nothing.", "Yes.", "randomize" } For Each value In strings Dim endsInPeriod As Boolean = value.EndsWith(".") Console.WriteLine("'{0}' ends in a period: {1}", value, endsInPeriod) Next End Sub End Module ' 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
The following example defines a StripEndTags method that uses the EndsWith(String) method to remove HTML end tags from the end of a line. Note that the StripEndTags method is called recursively to ensure that multiple HTML end tags at the end of the line are removed.
Public Module Example Public Sub Main() Dim strSource() As String = { "<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("-----------------------------------------------------------------") ' Display the initial array of strings. For Each s As String In strSource Console.WriteLine(s) Next Console.WriteLine() Console.WriteLine("The following lists the items after the ends have been stripped:") Console.WriteLine("----------------------------------------------------------------") ' Display the array of strings. For Each s As String In strSource Console.WriteLine(StripEndTags(s)) Next End Sub Private Function StripEndTags(item As String) As String Dim found As Boolean = False ' Try to find a tag at the end of the line using EndsWith. If item.Trim().EndsWith(">") Then ' now search for the opening tag... Dim lastLocation As Integer = item.LastIndexOf("</") If lastLocation >= 0 Then found = True ' Remove the identified section, if it is a valid region. item = item.Substring(0, lastLocation) End If End If If found Then item = StripEndTags(item) Return item End Function End Module ' 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>
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1