You can search for the following within a string:
- A single character
- One of a set of characters
- A substring
You search for a single character in a string using the String.IndexOf method, which returns a 0-based index into the string.
1
2
| string s = "Thomas Paine" ; int n = s.IndexOf( 'a' ); // 4 (1st 'a') |
You can also specify a starting position for the search. So we can find the next occurrence of ‘a’ this way:
1
| n = s.IndexOf( 'a' , n+1); // 8 (start search after 1st 'a') |
You can search for the first occurrence of one of a set of characters using the IndexOfAny method.
1
2
3
4
| string s = "Thomas Paine" ; char [] vowels = new char [] { 'a' , 'e' , 'i' , 'o' , 'u' }; int n = s.IndexOfAny(vowels); // 2 n = s.IndexOfAny(vowels, n + 1); // 4 |
You can also use IndexOf to search for substrings within a string.
1
2
3
| string s = "A man, a plan, a canal" ; int n = s.IndexOf( "an" ); // 3 n = s.IndexOf( "an" , n + 1); // 11 |