2013-11-21 1 views
1

У меня возникли небольшие проблемы с попыткой выяснить, как искать весь текст в RichTextBox и удалять все между круглыми скобками (включая круглые скобки). У меня есть много файлов с разными комментариями, написанными в круглых скобках, которые могут иметь в них другой текст.Поиск RichTextBox и удаление всего между

Пример: Это мой текст в текстовом поле (КАК ВЫ МОЖЕТЕ ВИДЕТЬ ЗДЕСЬ). Я хочу иметь возможность читать все текстовое поле (это будет еще один комментарий) и удалить его.

Результат: Это мой текст в текстовом поле. Я хочу иметь возможность читать все текстовое поле и удалять его.

Богатое текстовое поле, как правило, больше файлов, чем несколько строк. Любая помощь будет с благодарностью оценена.

ответ

0

Вы можете использовать регулярное выражение для этого:

Regex r = new Regex("\(.+?\)"); 

Если вы используете RichTextBox или текстовое поле:

rtb.Text = r.Replace(rtb.Text,""); 

Вы можете сделать это, не читая файл в richttextbox:

string filetext = File.ReadAllText("file.txt"); 
filetext = r.Replace(filetext,""); 
File.WriteAllText("file.txt",filetext); 

Или в одной строке:

File.WriteAllText("file.txt",r.Replace(File.ReadAllText("file.txt"),"")); 

Вы можете зациклить все файлы в каталоге:

foreach(string file in Directory.GetFiles(targetDirectory) 
    File.WriteAllText(file,r.Replace(File.ReadAllText(file),"")); 
+0

Спасибо. Я все еще новичок в этом, так что это помогает. Я закончил тем, что изменил его на Regex r = new Regex ("\\\ (. +? \\\)"); и он отлично поработал. – user3017852