CSharp examples for System:String Case
Get index of a string from a given index with case option
using System.Text; using System.Linq; using System.Collections.Generic; using System;//from w w w. j a v a2 s . c o m public class Main{ /// <summary> /// Get index of a string from a given index with case option /// </summary> /// <param name="sb"></param> /// <param name="text"></param> /// <param name="startIndex"></param> /// <param name="ignoreCase"></param> /// <returns></returns> public static int IndexOf(this StringBuilder sb, string value, int startIndex, bool ignoreCase) { int num3; int length = value.Length; int num2 = (sb.Length - length) + 1; if (ignoreCase == false) { for (int i = startIndex; i < num2; i++) { if (sb[i] == value[0]) { num3 = 1; while ((num3 < length) && (sb[i + num3] == value[num3])) { num3++; } if (num3 == length) { return i; } } } } else { for (int j = startIndex; j < num2; j++) { if (char.ToLower(sb[j]) == char.ToLower(value[0])) { num3 = 1; while ((num3 < length) && (char.ToLower(sb[j + num3]) == char.ToLower(value[num3]))) { num3++; } if (num3 == length) { return j; } } } } return -1; } /// <summary> /// Get index of a string with case option /// </summary> /// <param name="sb"></param> /// <param name="text"></param> /// <param name="ignoreCase"></param> /// <returns></returns> public static int IndexOf(this StringBuilder sb, string value, bool ignoreCase) { return IndexOf(sb, value, 0, ignoreCase); } /// <summary> /// Get index of a string from a given index /// </summary> /// <param name="sb"></param> /// <param name="text"></param> /// <param name="startIndex"></param> /// <returns></returns> public static int IndexOf(this StringBuilder sb, string value, int startIndex) { return IndexOf(sb, value, startIndex, false); } /// <summary> /// Get index of a string /// </summary> /// <param name="sb"></param> /// <param name="text"></param> /// <returns></returns> public static int IndexOf(this StringBuilder sb, string value) { return IndexOf(sb, value, 0, false); } /// <summary> /// Get index of a char starting from a given index /// </summary> /// <param name="sb"></param> /// <param name="c"></param> /// <param name="startIndex"></param> /// <returns></returns> public static int IndexOf(this StringBuilder sb, char value, int startIndex) { for (int i = startIndex; i < sb.Length; i++) { if (sb[i] == value) { return i; } } return -1; } /// <summary> /// Get index of a char /// </summary> /// <param name="sb"></param> /// <param name="c"></param> /// <returns></returns> public static int IndexOf(this StringBuilder sb, char value) { return IndexOf(sb, value, 0); } }