String.EndsWith Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan apakah akhir instans string ini cocok dengan string yang ditentukan.
Overload
EndsWith(String, Boolean, CultureInfo) |
Menentukan apakah akhir instans string ini cocok dengan string yang ditentukan jika dibandingkan menggunakan budaya yang ditentukan. |
EndsWith(String, StringComparison) |
Menentukan apakah akhir instans string ini cocok dengan string yang ditentukan jika dibandingkan menggunakan opsi perbandingan yang ditentukan. |
EndsWith(Char) |
Menentukan apakah akhir instans string ini cocok dengan karakter yang ditentukan. |
EndsWith(String) |
Menentukan apakah akhir instans string ini cocok dengan string yang ditentukan. |
EndsWith(String, Boolean, CultureInfo)
- Sumber:
- String.Comparison.cs
- Sumber:
- String.Comparison.cs
- Sumber:
- String.Comparison.cs
Menentukan apakah akhir instans string ini cocok dengan string yang ditentukan jika dibandingkan menggunakan budaya yang ditentukan.
public:
bool EndsWith(System::String ^ value, bool ignoreCase, System::Globalization::CultureInfo ^ culture);
public bool EndsWith (string value, bool ignoreCase, System.Globalization.CultureInfo? culture);
public bool EndsWith (string value, bool ignoreCase, System.Globalization.CultureInfo culture);
member this.EndsWith : string * bool * System.Globalization.CultureInfo -> bool
Public Function EndsWith (value As String, ignoreCase As Boolean, culture As CultureInfo) As Boolean
Parameter
- value
- String
String untuk dibandingkan dengan substring di akhir instans ini.
- ignoreCase
- Boolean
true
untuk mengabaikan kasus selama perbandingan; jika tidak, false
.
- culture
- CultureInfo
Informasi budaya yang menentukan bagaimana instans ini dan value
dibandingkan. Jika culture
adalah null
, budaya saat ini digunakan.
Mengembalikan
true
value
jika parameter cocok dengan akhir string ini; jika tidak, false
.
Pengecualian
value
adalah null
.
Contoh
Contoh berikut menentukan apakah string terjadi di akhir string lain. Metode EndsWith ini dipanggil beberapa kali menggunakan sensitivitas huruf besar/kecil, ketidakpekaan huruf besar/kecil, dan budaya berbeda yang memengaruhi hasil pencarian.
// 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
*/
// This code example demonstrates the
// System.String.EndsWith(String, ..., CultureInfo) method.
open System.Globalization
[<EntryPoint>]
let main _ =
// Define a target string to search for.
// U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
let 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).
let xyzARing = "xyz" + "\u0061\u030a"
// Display the string to search for and the string to search.
printfn $"Search for the target string \"{capitalARing}\" in the string \"{xyzARing}\".\n"
// Search using English-United States culture.
let ci = CultureInfo "en-US"
printfn $"Using the {ci.DisplayName} - \"{ci.Name}\" culture:"
printfn "Case sensitive:"
let result = xyzARing.EndsWith(capitalARing, false, ci)
printfn $" The string to search ends with the target string: {result}"
printfn "Case insensitive:"
let result = xyzARing.EndsWith(capitalARing, true, ci)
printfn $" The string to search ends with the target string: {result}\n"
// Search using Swedish-Sweden culture.
let ci = CultureInfo "sv-SE"
printfn $"Using the {ci.DisplayName} - \"{ci.Name}\" culture:"
printfn "Case sensitive:"
let result = xyzARing.EndsWith(capitalARing, false, ci)
printfn $" The string to search ends with the target string: {result}"
printfn "Case insensitive:"
let result = xyzARing.EndsWith(capitalARing, true, ci)
printfn $" The string to search ends with the target string: {result}"
0
(*
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
*)
' This code example demonstrates the
' System.String.EndsWith(String, ..., CultureInfo) method.
Imports System.Threading
Imports System.Globalization
Class Sample
Public Shared Sub Main()
Dim msg1 As String = "Search for the target string ""{0}"" in the string ""{1}""." & vbCrLf
Dim msg2 As String = "Using the {0} - ""{1}"" culture:"
Dim msg3 As String = " The string to search ends with the target string: {0}"
Dim result As Boolean = False
Dim ci As CultureInfo
' Define a target string to search for.
' U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
Dim capitalARing As String = "Å"
' 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).
Dim xyzARing As String = "xyz" & "å"
' 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)
End Sub
End Class
'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
'
Keterangan
Metode ini membandingkan value
parameter dengan substring di akhir string ini yang panjangnya sama dengan value
, dan mengembalikan nilai yang menunjukkan apakah keduanya sama. Agar sama, value
harus menjadi referensi ke instans yang sama ini atau cocok dengan akhir string ini.
Metode ini melakukan perbandingan kata (peka budaya) menggunakan casing dan budaya yang ditentukan.
Lihat juga
Berlaku untuk
EndsWith(String, StringComparison)
- Sumber:
- String.Comparison.cs
- Sumber:
- String.Comparison.cs
- Sumber:
- String.Comparison.cs
Menentukan apakah akhir instans string ini cocok dengan string yang ditentukan jika dibandingkan menggunakan opsi perbandingan yang ditentukan.
public:
bool EndsWith(System::String ^ value, StringComparison comparisonType);
public bool EndsWith (string value, StringComparison comparisonType);
[System.Runtime.InteropServices.ComVisible(false)]
public bool EndsWith (string value, StringComparison comparisonType);
member this.EndsWith : string * StringComparison -> bool
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.EndsWith : string * StringComparison -> bool
Public Function EndsWith (value As String, comparisonType As StringComparison) As Boolean
Parameter
- value
- String
String untuk dibandingkan dengan substring di akhir instans ini.
- comparisonType
- StringComparison
Salah satu nilai enumerasi yang menentukan bagaimana string ini dan value
dibandingkan.
Mengembalikan
true
value
jika parameter cocok dengan akhir string ini; jika tidak, false
.
- Atribut
Pengecualian
value
adalah null
.
comparisonType
bukan nilai StringComparison .
Contoh
Contoh berikut menentukan apakah string berakhir dengan substring tertentu. Hasilnya dipengaruhi oleh pilihan budaya, apakah kasus diabaikan, dan apakah perbandingan ordinal dilakukan.
// This example demonstrates the
// System.String.EndsWith(String, StringComparison) method.
using namespace System;
using namespace System::Threading;
void Test(String^ testString, String^ searchString,
StringComparison comparison)
{
String^ resultFormat = "\"{0}\" {1} with \"{2}\".";
String^ resultString = "does not end";
if (testString->EndsWith(searchString, comparison))
{
resultString = "ends";
}
Console::WriteLine(resultFormat, testString, resultString, searchString);
}
int main()
{
String^ introMessage =
"Determine whether a string ends with another string, " +
"using\ndifferent values of StringComparison.";
array<StringComparison>^ comparisonValues = {
StringComparison::CurrentCulture,
StringComparison::CurrentCultureIgnoreCase,
StringComparison::InvariantCulture,
StringComparison::InvariantCultureIgnoreCase,
StringComparison::Ordinal,
StringComparison::OrdinalIgnoreCase};
Console::WriteLine(introMessage);
// 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);
// Perform two tests for each StringComparison
for each (StringComparison stringCmp in comparisonValues)
{
Console::WriteLine("StringComparison.{0}:", stringCmp);
Test("abcXYZ", "XYZ", stringCmp);
Test("abcXYZ", "xyz", stringCmp);
Console::WriteLine();
}
}
/*
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".
*/
// 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".
*/
// This example demonstrates the
// System.String.EndsWith(String, StringComparison) method.
open System
open System.Threading
let test (x: string) y (comparison: StringComparison) =
let result =
if x.EndsWith(y, comparison) then
"ends"
else
"does not end"
printfn $"\"{x}\" {result} with \"{y}\"."
let scValues =
[|
StringComparison.CurrentCulture
StringComparison.CurrentCultureIgnoreCase
StringComparison.InvariantCulture
StringComparison.InvariantCultureIgnoreCase
StringComparison.Ordinal
StringComparison.OrdinalIgnoreCase
|]
printfn "Determine whether a string ends with another string, using\n different values of StringComparison."
// Display the current culture because the culture-specific comparisons
// can produce different results with different cultures.
printfn $"The current culture is {Thread.CurrentThread.CurrentCulture.Name}.\n"
// Determine whether three versions of the letter I are equal to each other.
for sc in scValues do
printfn $"StringComparison.{sc}:"
test "abcXYZ" "XYZ" sc
test "abcXYZ" "xyz" sc
printfn ""
(*
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".
*)
' This example demonstrates the
' System.String.EndsWith(String, StringComparison) method.
Imports System.Threading
Class Sample
Public Shared Sub Main()
Dim intro As String = "Determine whether a string ends with another string, " & _
"using" & vbCrLf & " different values of StringComparison."
Dim scValues As StringComparison() = { _
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}." & vbCrLf, _
Thread.CurrentThread.CurrentCulture.Name)
' Determine whether three versions of the letter I are equal to each other.
Dim sc As StringComparison
For Each sc In scValues
Console.WriteLine("StringComparison.{0}:", sc)
Test("abcXYZ", "XYZ", sc)
Test("abcXYZ", "xyz", sc)
Console.WriteLine()
Next sc
End Sub
Protected Shared Sub Test(ByVal x As String, ByVal y As String, _
ByVal comparison As StringComparison)
Dim resultFmt As String = """{0}"" {1} with ""{2}""."
Dim result As String = "does not end"
'
If x.EndsWith(y, comparison) Then
result = "ends"
End If
Console.WriteLine(resultFmt, x, result, y)
End Sub
End Class
'
'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".
'
Keterangan
Metode EndsWith membandingkan value
parameter dengan substring di akhir string ini dan mengembalikan nilai yang menunjukkan apakah keduanya sama. Agar sama, value
harus berupa referensi ke string yang sama ini, harus berupa string kosong (""), atau harus cocok dengan akhir string ini. Jenis perbandingan yang EndsWith dilakukan oleh metode tergantung pada nilai comparisonType
parameter.
Lihat juga
Berlaku untuk
EndsWith(Char)
- Sumber:
- String.Comparison.cs
- Sumber:
- String.Comparison.cs
- Sumber:
- String.Comparison.cs
Menentukan apakah akhir instans string ini cocok dengan karakter yang ditentukan.
public:
bool EndsWith(char value);
public bool EndsWith (char value);
member this.EndsWith : char -> bool
Public Function EndsWith (value As Char) As Boolean
Parameter
- value
- Char
Karakter untuk dibandingkan dengan karakter di akhir instans ini.
Mengembalikan
true
jika value
cocok dengan akhir instans ini; jika tidak, false
.
Keterangan
Metode ini melakukan perbandingan ordinal (peka huruf besar/kecil dan budaya).
Berlaku untuk
EndsWith(String)
- Sumber:
- String.Comparison.cs
- Sumber:
- String.Comparison.cs
- Sumber:
- String.Comparison.cs
Menentukan apakah akhir instans string ini cocok dengan string yang ditentukan.
public:
bool EndsWith(System::String ^ value);
public bool EndsWith (string value);
member this.EndsWith : string -> bool
Public Function EndsWith (value As String) As Boolean
Parameter
- value
- String
String untuk dibandingkan dengan substring di akhir instans ini.
Mengembalikan
true
jika value
cocok dengan akhir instans ini; jika tidak, false
.
Pengecualian
value
adalah null
.
Contoh
Contoh berikut menunjukkan apakah setiap string dalam array berakhir dengan titik (".").
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
let strings =
[| "This is a string."; "Hello!"; "Nothing."
"Yes."; "randomize" |]
for value in strings do
let endsInPeriod = value.EndsWith "."
printfn $"'{value}' ends in a period: {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
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
Contoh berikut mendefinisikan StripEndTags
metode yang menggunakan EndsWith(String) metode untuk menghapus tag akhir HTML dari akhir baris. Perhatikan bahwa StripEndTags
metode ini dipanggil secara rekursif untuk memastikan bahwa beberapa tag akhir HTML di akhir baris dihapus.
using namespace System;
using namespace System::Collections;
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 ) {
item = item->Substring( 0, lastLocation );
found = true;
}
}
if (found) item = StripEndTags(item);
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( "----------------------------------------------------------------" );
// Display the array of strings.
IEnumerator^ myEnum2 = strSource->GetEnumerator();
while ( myEnum2->MoveNext() )
{
String^ s = safe_cast<String^>(myEnum2->Current);
Console::WriteLine( StripEndTags( s ) );
}
}
// 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>
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>
let rec stripEndTags item =
let mutable item: string = item
let mutable found = 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...
let lastLocation = item.LastIndexOf "</"
// remove the identified section, if it is a valid region
if lastLocation >= 0 then
found <- true
item <- item.Substring(0, lastLocation)
if found then
stripEndTags item
else
item
// 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 (>).
let 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>" |]
printfn "The following lists the items before the ends have been stripped:"
printfn "-----------------------------------------------------------------"
// print out the initial array of strings
for s in strSource do
printfn $"{s}"
printfn "\nThe following lists the items after the ends have been stripped:"
printfn "----------------------------------------------------------------"
// print out the array of strings
for s in strSource do
printfn $"{stripEndTags s}"
// 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>
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>
Keterangan
Metode ini dibandingkan dengan substring di akhir instans value
ini yang panjangnya sama dengan value
, dan mengembalikan indikasi apakah keduanya sama. Agar sama, value
harus menjadi referensi ke instans yang sama ini atau cocok dengan akhir instans ini.
Metode ini melakukan perbandingan kata (peka huruf besar/kecil dan budaya) menggunakan budaya saat ini.
Catatan Bagi Pemanggil
Seperti yang dijelaskan dalam Praktik Terbaik untuk Menggunakan String, kami sarankan Anda menghindari memanggil metode perbandingan string yang menggantikan nilai default dan sebaliknya memanggil metode yang mengharuskan parameter ditentukan secara eksplisit. Untuk menentukan apakah string diakhiri dengan substring tertentu dengan menggunakan aturan perbandingan CurrentCulture string dari budaya saat ini, beri sinyal niat Anda secara eksplisit dengan memanggil EndsWith(String, StringComparison) metode kelebihan beban dengan nilai untuk parameternyacomparisonType
. Jika Anda tidak memerlukan perbandingan sadar linguistik, pertimbangkan untuk menggunakan Ordinal.