Beispiel #1
0
        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}");
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
 public MyString Concat(MyString string_1)
 {
     return(this + string_1);
 }
Beispiel #4
0
 public static MyString Concat(MyString string_1, MyString string_2)
 {
     return(string_1 + string_2);
 }