Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2013, 20:26   #1
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию Строки удаление символов

Удалите из строки последовательности символов, расположенные между круглыми скобками вместе со скобками (считается, что скобки в строке расставлены без ошибок).
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ex5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            { 
                int n = 0, k = 0;
                StringBuilder st = new StringBuilder();
               
                char[] Array = IsxodtextBox.Text.ToCharArray();
                for (int p = 0; p < Array.Length; p++)
                    st.Append(Array[p]);
                for (int i = 0; i < st.Length;i++ )
                {
                    if (st[i] == '(')
                    {
                        k++;
                        n = i;
                        while (st[n] != ')')
                        st.Remove(n, 1);
                        if (st[n] == ')') st.Remove(n, 1);
                    }
                }
                ReztextBox.Text = st.ToString();
            }
            catch (FormatException)
            {
                MessageBox.Show("Некорректный ввод исходных данных", "Ошибка",
                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}
Надо рассмотреть случай с вложенными скобками он их не удаляет
Veryn4ik1993 вне форума Ответить с цитированием
Старый 30.05.2013, 12:14   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Код:
			string s = "Sample (text(text2)(text3))";
			Regex regexObj = new Regex(
				@"\(              # Match an opening parenthesis.
      (?>             # Then either match (possessively):
       [^()]+         #  any characters except parentheses
      |               # or
       \( (?<Depth>)  #  an opening paren (and increase the parens counter)
      |               # or
       \) (?<-Depth>) #  a closing paren (and decrease the parens counter).
      )*              # Repeat as needed.
     (?(Depth)(?!))   # Assert that the parens counter is at zero.
     \)               # Then match a closing parenthesis.",
				RegexOptions.IgnorePatternWhitespace);
			s = regexObj.Replace(s, string.Empty);
			Console.WriteLine(s);
			Console.ReadKey();
Hollander вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ строки , удаление символов Bolisoff Помощь студентам 4 10.01.2012 00:46
[Pascal] Удаление символов из строки just4smth Помощь студентам 17 15.05.2011 21:15
Удаление символов из строки NAS1977mu Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 09.01.2011 13:05
Удаление символов из строки Jasper92 Общие вопросы C/C++ 1 17.01.2010 20:41
Удаление символов из строки stscolt Помощь студентам 0 28.12.2009 12:34