.NET Framework Class Library String..::.EndsWith Method (String) Determines whether the end of this string instance matches the specified string.
Namespace:
System
Assembly:
mscorlib (in mscorlib.dll)

Syntax
Public Function EndsWith ( _
value As String _
) As Boolean
public bool EndsWith(
string value
)
public:
bool EndsWith(
String^ value
)
member EndsWith :
value:string -> bool
Parameters- value
- Type: System..::.String
The string to compare to the substring at the end of this instance.
Return ValueType: System..::.Boolean
true if value matches the end of this instance; otherwise, false.

Exceptions
| Exception | Condition |
|---|
| ArgumentNullException |
value is nullNothingnullptra null reference (Nothing in Visual Basic). |

Remarks
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 CallersAs 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.

Examples
The following example demonstrates how you can use the EndsWith method as part of a routine that removes HTML end tags from the end of a line.
Imports System
Public Class EndsWithTest
Public Shared 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 Shared Function StripEndTags(item As String) As String
' 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
' Remove the identified section, if it is a valid region.
item = item.Substring(0, lastLocation)
End If
End If
Return Item
End Function
End Class
' 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</font></i>
' <b>This has <i>embedded</i> tags.
' This line simply ends with a greater than symbol, it should not be modified>
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 ( string s in strSource )
Console.WriteLine( StripEndTags( s ) );
}
private static string StripEndTags( string item ) {
// 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 )
item = item.Substring( 0, lastLocation );
}
return item;
}
}
using namespace System;
using namespace System::Collections;
String^ StripEndTags( String^ item )
{
// 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 )
item = item->Substring( 0, lastLocation );
}
return item;
}
int 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 (>).
array<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
IEnumerator^ myEnum1 = strSource->GetEnumerator();
while ( myEnum1->MoveNext() )
{
String^ s = safe_cast<String^>(myEnum1->Current);
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
IEnumerator^ myEnum2 = strSource->GetEnumerator();
while ( myEnum2->MoveNext() )
{
String^ s = safe_cast<String^>(myEnum2->Current);
Console::WriteLine( StripEndTags( s ) );
}
}

Version Information
.NET FrameworkSupported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0 .NET Framework Client ProfileSupported in: 4, 3.5 SP1

Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

See Also
|
.NET Framework クラス ライブラリ String..::.EndsWith メソッド (String) この文字列インスタンスの末尾が、指定した文字列と一致するかどうかを判断します。
名前空間:
System
アセンブリ:
mscorlib (mscorlib.dll 内)

構文
Public Function EndsWith ( _
value As String _
) As Boolean
public bool EndsWith(
string value
)
public:
bool EndsWith(
String^ value
)
member EndsWith :
value:string -> bool

例外

解説

例
次の例は、行の末尾から HTML 終了タグを削除するルーチンの一部として EndsWith メソッドを使用する方法を示しています。
Imports System
Public Class EndsWithTest
Public Shared 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 Shared Function StripEndTags(item As String) As String
' 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
' Remove the identified section, if it is a valid region.
item = item.Substring(0, lastLocation)
End If
End If
Return Item
End Function
End Class
' 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</font></i>
' <b>This has <i>embedded</i> tags.
' This line simply ends with a greater than symbol, it should not be modified>
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 ( string s in strSource )
Console.WriteLine( StripEndTags( s ) );
}
private static string StripEndTags( string item ) {
// 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 )
item = item.Substring( 0, lastLocation );
}
return item;
}
}
using namespace System;
using namespace System::Collections;
String^ StripEndTags( String^ item )
{
// 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 )
item = item->Substring( 0, lastLocation );
}
return item;
}
int 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 (>).
array<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
IEnumerator^ myEnum1 = strSource->GetEnumerator();
while ( myEnum1->MoveNext() )
{
String^ s = safe_cast<String^>(myEnum1->Current);
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
IEnumerator^ myEnum2 = strSource->GetEnumerator();
while ( myEnum2->MoveNext() )
{
String^ s = safe_cast<String^>(myEnum2->Current);
Console::WriteLine( StripEndTags( s ) );
}
}

バージョン情報
.NET Frameworkサポート対象: 4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profileサポート対象: 4、3.5 SP1

プラットフォーム
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

参照
|