public bool CurrentEqualTo(string rother, StringComparison comp) { if (CurrentPosition + rother.Length > RowString.Length) { return(false); } var sub = RowString.Substring(CurrentPosition, rother.Length); return(sub.Equals(rother, comp)); }
public string Substring(int start, int length) { if (start >= RowString.Length || length == 0) { return(""); } if (start + length > RowString.Length) { length = RowString.Length - start; } return(RowString.Substring(start, length)); }
public string Substring() { if (CurrentPosition >= RowString.Length) { return(""); } if (CurrentPosition == 0) { return(RowString); } return(RowString.Substring(CurrentPosition)); }
internal void Replace(int start, int count, string src) { //引数に正しい数字が送られてくること前提 RowString = RowString.Remove(start, count).Insert(start, src); CurrentPosition = start; }
/// <summary> /// 検索文字列の相対位置を返す。見つからない場合、負の値。 /// </summary> public int Find(char c) { return(RowString.IndexOf(c, CurrentPosition) - CurrentPosition); }
/// <summary> /// 検索文字列の相対位置を返す。見つからない場合、負の値。 /// </summary> /// <param name="str"></param> public int Find(string str) { return(RowString.IndexOf(str, CurrentPosition) - CurrentPosition); }