Recipe2.8.Comparing a String to the Beginning or End of a Second String


Recipe 2.8. Comparing a String to the Beginning or End of a Second String

Problem

You need to determine whether a string is at the head or tail of a second string. In addition, the case sensitivity of the search needs to be controlled.

Solution

Use the EndsWith or StartsWith instance method on a string object. Comparisons with EndsWith and StartsWith are always case-sensitive. The following code compares the value in the string variable head to the beginning of the string Test:

 string head = "str"; string test = "strVarName"; bool isFound = test.StartsWith(head); 

The example shown next compares the value in the string variable tail to the end of the string test.

 string tail = "Name"; string test = "strVarName"; bool isFound = test.EndsWith(tail); 

In both examples, the isFound Boolean variable is set to true, since each string is found in test.

To do a case-insensitive comparison, employ the static string.Compare method. The following two examples modify the previous two examples by performing a case-insensitive comparison. The first is equivalent to a case-insensitive StartsWith string search:

 string head = "str"; string test = "strVarName"; int isFound = string.Compare(head, 0, test, 0, head.Length, true); 

The second is equivalent to a case-insensitive EndsWith string search:

 string tail = "Name"; string test = "strVarName"; int isFound = string.Compare(tail, 0, test, (test.Length - tail.Length),                              tail.Length, true); 

Discussion

Use the BeginsWith or EndsWith instance methods to do a case-sensitive search for a particular string at the beginning or end of a string. The equivalent case-insensitive comparison requires the use of the static Compare method in the String class. If the return value of the Compare method is zero, a match was found. Any other number means that a match was not found.

See Also

See the "String.StartsWith Method," "String.EndsWith Method," and "String.Compare Method" topics in the MSDN documentation.



C# Cookbook
Secure Programming Cookbook for C and C++: Recipes for Cryptography, Authentication, Input Validation & More
ISBN: 0596003943
EAN: 2147483647
Year: 2004
Pages: 424

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net