HomeSearch

C# StartsWith and EndsWith String Methods

Use the StartsWith and EndsWith methods on strings. StartsWith compares the first part of strings.

StartsWith

tests the first part of strings. We use it to test the first characters in a string against another string. It is possible to test many strings with the foreach-loop.Strings

With EndsWith,

we test the last characters. These two methods provide an easy way to test and match common strings such as URLs. They are used throughout C# programs.

Example, StartsWith.

We test URL strings, a common task in web applications. Here we test the "http://www.site.com" string and the "http://site.com" strings. We use StartsWith.If

Tip: In this way, you can use StartsWith for efficient testing of URLs or other strings that have known starts.

C# program that invokes StartsWith method using System; class Program { static void Main() { // The input string. string input = "http://site.com/test.html"; // See if input matches one of these starts. if (input.StartsWith("http://www.site.com") || input.StartsWith("http://site.com")) { // Write to the screen. Console.WriteLine(true); } } } Output True

Foreach, StartsWith.

Next, we see that foreach can be used with StartsWith. Here we test elements in a string array against the input string, returning true if there is a match.ForeachArray
C# program that uses StartsWith in loop using System; class Program { static void Main() { // The input string. string input = "http://site.com/test.html"; // The possible matches. string[] m = new string[] { "http://www.site.com", "http://site.com" }; // Loop through each possible match. foreach (string s in m) { if (input.StartsWith(s)) { // Will match second possibility. Console.WriteLine(s); return; } } } } Output http://site.com

EndsWith.

This tests the last parts of strings. It finds strings that have a certain ending sequence of characters. EndsWith is a simple way to test for ending substrings.

First: The EndsWith method, like its counterpart the StartsWith method, has three overloaded method signatures.

Here: The first example shows the simplest and first overload, which receives one parameter.

Tip: To use EndsWith, you must pass the string you want to check the ending with as the argument.

Next: An input string is tested for three ends. We detect the ending extension of the URL.

C# program that uses EndsWith using System; class Program { static void Main() { // The input string. string input = "http://site.com"; // Test these endings. string[] arr = new string[] { ".net", ".com", ".org" }; // Loop through and test each string. foreach (string s in arr) { if (input.EndsWith(s)) { Console.WriteLine(s); return; } } } } Output .com

Overloads.

EndsWith has some overloads. The first overload is demonstrated above. The second overload accepts a second parameter—a StringComparison enumerated constant.Enum

Tip: You can use StringComparison to specify case-insensitive matching with EndsWith—try OrdinalIgnoreCase.

StringComparison, StringComparer

Finally: The third overload allows more globalization options, which are essential if non-English data will be encountered.

Char test, performance.

Consider the StartsWith method: we can duplicate its functionality with individual char tests. In benchmarks, testing chars usually is faster.Char Test

A summary.

With StartsWith we can test strings (such as URLs). StartsWith tests the first characters of strings. It returns a bool telling us whether or not the starts match.

EndsWith,

meanwhile, tests the end of strings. We used if-statements, and foreach with if-statements, alongside these methods on the string type.
Home
Dot Net Perls
© 2007-2019 Sam Allen. All rights reserved. Written by Sam Allen, info@dotnetperls.com.