static void Main(string[] args) { string arg = "asdazdasfzzfdfa"; MyString replace_1 = new MyString('a'), replace_2 = new MyString(arg), replace_3 = new MyString(arg.ToCharArray()); // replace_3 = replace_3.Replace(replace_1, new MyString("zzz")); // char[] index_of_char = new char[] { 'a', 's'}; // int i = replace_3.IndexOf(replace_1); // replace_3 = replace_3.Remove(3, 2); replace_3 = replace_3.SubString(3, 5); Console.WriteLine($"Исходная строка: {arg}, Вывод : {replace_3.ToString()}"); // Console.WriteLine($"Исходная строка: {arg}, строка после удаления: {replace_3.ToString()}"); // Console.WriteLine($"Исходная строка: {arg}, символы под замену: {replace_1.ToString()}, символы замены: zzz, Результирующая строка: {replace_3.ToString()}"); // Console.WriteLine($"{i}"); }
public MyString Replace(MyString oldValue, MyString newValue) { int[] indexArray = new int[this.Length]; int index = 0, count = 0; do { index = this.IndexOf(oldValue, index); if (index != -1) { indexArray[count] = index; count++; index++; } }while (index != -1); char[] finalValue = new char[this.Length + (newValue.Length - oldValue.Length) * indexArray.Length]; int y = 0; for (int i = 0; i < this.Length; i++) { if (i == indexArray[y]) { for (int j = 0; j < newValue.Length; j++) { finalValue[i + (newValue.Length - oldValue.Length) * y + j] = newValue[j]; } y++; } else { finalValue[i + (newValue.Length - oldValue.Length) * y] = this.content[i]; } } return(new MyString(finalValue)); }
public MyString Concat(MyString string_1) { return(this + string_1); }
public static MyString Concat(MyString string_1, MyString string_2) { return(string_1 + string_2); }