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); // 2n = 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"); // 3n = s.IndexOf("an", n + 1); // 11 |

