Как удалить все буквы и в тексте укажите оптимальный вариант
Конкатенация строк или объединение может производиться как с помощью операции + , так и с помощью метода Concat :
string s1 = "hello"; string s2 = "world"; string s3 = s1 + " " + s2; // результат: строка "hello world" string s4 = string.Concat(s3, ". "); // результат: строка "hello world. " Console.WriteLine(s4);
Метод Concat является статическим методом класса string, принимающим в качестве параметров две строки. Также имеются другие версии метода, принимающие другое количество параметров.
Для объединения строк также может использоваться метод Join :
string s5 = "apple"; string s6 = "a day"; string s7 = "keeps"; string s8 = "a doctor"; string s9 = "away"; string[] values = new string[] < s5, s6, s7, s8, s9 >; string s10 = string.Join(" ", values); Console.WriteLine(s10); // apple a day keeps a doctor away
Метод Join также является статическим. Использованная выше версия метода получает два параметра: строку-разделитель (в данном случае пробел) и массив строк, которые будут соединяться и разделяться разделителем.
Сравнение строк
Для сравнения строк применяется статический метод Compare :
string s1 = "hello"; string s2 = "world"; int result = string.Compare(s1, s2); if (result <0) < Console.WriteLine("Строка s1 перед строкой s2"); >else if (result > 0) < Console.WriteLine("Строка s1 стоит после строки s2"); >else < Console.WriteLine("Строки s1 и s2 идентичны"); >// результатом будет "Строка s1 перед строкой s2"
Данная версия метода Compare принимает две строки и возвращает число. Если первая строка по алфавиту стоит выше второй, то возвращается число меньше нуля. В противном случае возвращается число больше нуля. И третий случай — если строки равны, то возвращается число 0.
В данном случае так как символ h по алфавиту стоит выше символа w, то и первая строка будет стоять выше.
Поиск в строке
С помощью метода IndexOf мы можем определить индекс первого вхождения отдельного символа или подстроки в строке:
string s1 = "hello world"; char ch = 'o'; int indexOfChar = s1.IndexOf(ch); // равно 4 Console.WriteLine(indexOfChar); string substring = "wor"; int indexOfSubstring = s1.IndexOf(substring); // равно 6 Console.WriteLine(indexOfSubstring);
Подобным образом действует метод LastIndexOf , только находит индекс последнего вхождения символа или подстроки в строку.
Еще одна группа методов позволяет узнать начинается или заканчивается ли строка на определенную подстроку. Для этого предназначены методы StartsWith и EndsWith . Например, в массиве строк хранится список файлов, и нам надо вывести все файлы с расширением exe:
var files = new string[] < "myapp.exe", "forest.jpg", "main.exe", "book.pdf", "river.png" >; for (int i = 0; i
Разделение строк
С помощью функции Split мы можем разделить строку на массив подстрок. В качестве параметра функция Split принимает массив символов или строк, которые и будут служить разделителями. Например, подсчитаем количество слов в сроке, разделив ее по пробельным символам:
string text = «И поэтому все так произошло»; string[] words = text.Split(new char[] < ' ' >); foreach (string s in words)
Это не лучший способ разделения по пробелам, так как во входной строке у нас могло бы быть несколько подряд идущих пробелов и в итоговый массив также бы попадали пробелы, поэтому лучше использовать другую версию метода:
string[] words = text.Split(new char[] < ' ' >, StringSplitOptions.RemoveEmptyEntries);
Второй параметр StringSplitOptions.RemoveEmptyEntries говорит, что надо удалить все пустые подстроки.
Обрезка строки
Для обрезки начальных или концевых символов используется функция Trim :
string text = " hello world "; text = text.Trim(); // результат "hello world" text = text.Trim(new char[] < 'd', 'h' >); // результат "ello worl"
Функция Trim без параметров обрезает начальные и конечные пробелы и возвращает обрезанную строку. Чтобы явным образом указать, какие начальные и конечные символы следует обрезать, мы можем передать в функцию массив этих символов.
Эта функция имеет частичные аналоги: функция TrimStart обрезает начальные символы, а функция TrimEnd обрезает конечные символы.
Обрезать определенную часть строки позволяет функция Substring :
string text = "Хороший день"; // обрезаем начиная с третьего символа text = text.Substring(2); // результат "роший день" Console.WriteLine(text); // обрезаем сначала до последних двух символов text = text.Substring(0, text.Length - 2); // результат "роший де" Console.WriteLine(text);
Функция Substring также возвращает обрезанную строку. В качестве параметра первая использованная версия применяет индекс, начиная с которого надо обрезать строку. Вторая версия применяет два параметра — индекс начала обрезки и длину вырезаемой части строки.
Вставка
Для вставки одной строки в другую применяется функция Insert :
string text = "Хороший день"; string substring = "замечательный "; text = text.Insert(8, substring); Console.WriteLine(text); // Хороший замечательный день
Первым параметром в функции Insert является индекс, по которому надо вставлять подстроку, а второй параметр — собственно подстрока.
Удаление строк
Удалить часть строки помогает метод Remove :
string text = "Хороший день"; // индекс последнего символа int ind = text.Length - 1; // вырезаем последний символ text = text.Remove(ind); Console.WriteLine(text); // Хороший ден // вырезаем первые два символа text = text.Remove(0, 2); Console.WriteLine(text); // роший ден
Первая версия метода Remove принимает индекс в строке, начиная с которого надо удалить все символы. Вторая версия принимает еще один параметр — сколько символов надо удалить.
Замена
Чтобы заменить один символ или подстроку на другую, применяется метод Replace :
string text = "хороший день"; text = text.Replace("хороший", "плохой"); Console.WriteLine(text); // плохой день text = text.Replace("о", ""); Console.WriteLine(text); // плхй день
Во втором случае применения функции Replace строка из одного символа «о» заменяется на пустую строку, то есть фактически удаляется из текста. Подобным способом легко удалять какой-то определенный текст в строках.
Смена регистра
Для приведения строки к верхнему и нижнему регистру используются соответственно функции ToUpper() и ToLower() :
string hello = "Hello world!"; Console.WriteLine(hello.ToLower()); // hello world! Console.WriteLine(hello.ToUpper()); // HELLO WORLD!
Удаление лишних символов в Word
Для удаления лишних символов в документах приложения Word предусмотрено стандартное средство, такое как «Найти и заменить». Этот инструмент позволяет удалять как единичные символы, так и целые группы, при условии использования подстановочных знаков, но и этого бывает недостаточно.
Удаление символов поиском и заменой
Самый простой способ удалить какой-либо знак из текста документа Word – перейти на вкладку «Главная», в группе кнопок «Редактирование» кликнуть по кнопке «Заменить», в появившемся диалоговом окне написать удаляемый символ в поле «Найти», поле «Заменить на» при этом оставить пустым и нажать кнопку «Заменить» либо «Заменить все».
Удаление группы символов при помощи подстановочных знаков
Если в диалоговом окне «Найти и заменить», которое вызывается также при помощи горячих клавиш Ctrl+H, развернуть меню настроек, нажав на кнопку «Больше», то в разделе «Параметры поиска» можно включить использование подстановочных знаков. Это дает возможность удалять символы целыми диапазонами, например, для удаления всех цифр необходимо указать диапазон [0-9].
Надстройка для Word по удалению символов из выделенного текста
Выборочное удаление символов можно производить при помощи надстройки для Word.
В диалоговом окне надстройки перечислены основные наборы символов и варианты их сочетаний, а также текстовое поле для ввода символов-исключений. Для выборочного удаления необходимо выделить текст в документе, вызвать диалоговое окно и выбрать необходимую опцию, соответствующую группе символов. При необходимости некоторые символы можно исключить из группы, например, для того, чтобы удалить из текста любые знаки, но при этом оставить пробелы и знаки препинания. В диалоговом окне можно задать свою собственную группу символов, указав их в соответствующем текстовом поле через точку с запятой.
Для предварительного просмотра символов, подлежащих удалению, в надстройке предусмотрена возможность изменения цвета шрифта.
Другие материалы по теме:
- Видео по выборочному удалению листов рабочей книги Excel
- Как удалить столбцы? Удаление столбцов
- Видео по выборочному удалению значений ячеек
- Видео по выборочному удалению столбцов по условию
- Как удалить все листы в Excel кроме активного? Как удалить каждый второй лист в Excel? Выборочное удаление листов
Как удалить буквы, цифры или лишние символы из текста
Встречаются задачи, в которых необходимо сделать разделение символов, когда одни символы нужно удалить, а другие оставить, например, удалить любые буквы, оставив только цифры или удалить из текста, написанного кириллицей, все латинские буквы.
Простой способ быстро удалить из текста ячеек рабочего листа Excel буквы, цифры и лишние символы — использовать надстройку для Excel. Все максимально просто, пользователю не нужно писать никаких формул, достаточно задать диапазон ячеек, выбрать определенный набор символов и запустить программу.
Как удалить цифры из текста?
Программа осуществляет перебор символов в каждой ячейке и удаляет из значений ячеек только те символы, которые задал пользователь в диалоговом окне надстройки. Так, чтобы удалить из значений ячеек все цифры, нужно выбрать пункт «Только цифры».
Как удалить буквы из текста?
Чтобы удалить буквы из текста, необходимо в диалоговом окне надстройки выбрать пункт «Любые буквы», при этом в тексте ячеек цифры и знаки остаются, а все буквы, независимо от того русские они или английские, удаляются. Предусмотрено удаление из текста только латиницы (букв латинского алфавита) или только кириллицы (букв русского алфавита).
Как удалить лишние символы?
Для удаления лишних символов, необходимо выбрать пункт «Только знаки», при этом все символы кроме цифр и букв удаляются, но имеется возможность задать символы-исключения, например, чтобы все слова не слились в одну строку, можно установить флажок в поле «а также символы:» и вписать пробел. В поле для символов-исключений можно вписать любой другой символ, либо группу символов, друг за другом без пробелов или других разделителей.
Как удалить только заданные символы?
В случае, если необходимо удалить из значений ячеек отдельные символы из разных групп, предусмотрена возможность перечислить все символы, подлежащие удалению через точку с запятой. Для удаления самого символа «;» (точка с запятой) можно использовать опцию удаления по ASCII-кодам. Например, символу «;» соответствует ASCII-код «59». Эта опция будет также полезна при необходимости удаления непечатаемых символов, например символа перевода на новую строку.
Выборочное удаление символов из ячеек Excel

Надстройка позволяет пользователям в выбранном диапазоне ячеек осуществлять выборочное удаление из значений:
2) цифр и любых символов (кроме букв);
3) любых букв, как русского, так и английского алфавита;
4) любых букв и знаков;
5) любых букв и цифр;
6) только знаков (всех, кроме букв и цифр);
7) только букв кириллицы;
8) букв кириллицы и знаков;
9) только букв латиницы;
10) букв латинского алфавита и любых знаков;
11) символов, заданных вручную либо по ASCII-кодам.
При удалении группы символов программа позволяет создавать исключения из группы в поле «кроме символов», то есть задавать символы, которые не будут удаляться.
Удаление символов из выделенного текста документа Word
Надстройка дает возможность удалять группы символов в выделенном тексте документа Word:
1) изменять цвет шрифта у заданных символов;
2) удалять заданные символы;
3) создавать исключения из заданной группы символов;
4) осуществлять выбор одной из групп символов (цифры, знаки, буквы латиницы, буквы кириллицы и сочетания этих групп);
5) задавать символы вручную;
6) задавать ASCII-коды символов.
Другие материалы по теме:
Как удалить все буквы «а» в тексте
Привет народ=) Вот проблема появилась:
1)«Открыть файл» (текст из указанного файла загружается в текстовое поле), 2)«Удалить все буквы А» (в строке, находящейся в текстовом поле, удаляются все русские буквы «а»). Первое задани сделал а как вот второй сделать? подскажите пожалуйста!
Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Дана строка. Удалить все все слова, в которых буквы встречаются в тексте три раза.
Дана строка. Удалить все все слова, в которых буквы встречаются в тексте три раза. Мальчики.
В заданном тексте удалить все гласные буквы
Программа должна в заданном тексте удалить все гласные буквы.

Удалить все согласные буквы в заданном тексте
Программа должна в заданном тексте удалить все согласные буквы.

Строка: В заданном тексте удалить все гласные буквы
Добрый день! Помогите, пожалуйста, решить задачку В заданном тексте удалить все гласные буквы
Почетный модератор
21388 / 9122 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014

Сообщение было отмечено Памирыч как решение
Решение
Попробуй так:
Textbox1.Text = TextBox1.Text.Replace("а", "")
Для заглавных также можно аналогичную строку добавить:
Textbox1.Text = TextBox1.Text.Replace("А", "")
То есть меняем «А» и «а» на «ничто» во всем текстовом поле
Регистрация: 04.05.2009
Сообщений: 130
спасибо огромное все работает =)
Регистрация: 15.11.2014
Сообщений: 187
Сообщение от Памирыч 
Textbox1.Text = TextBox1.Text.Replace("а", "")
Ну это замена 1 буквы на другой знак. а на несколько букв, придется создавать несколько подобных функций Replace или есть другая функция ?
Почетный модератор
21388 / 9122 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
desant, функцию можно применять не только для одной буквы, но и для целых предложений
Регистрация: 15.11.2014
Сообщений: 187
Памирыч, нет я имею для букв а и буквы б (а если этих букв будет 10, то 10 функций нужно использовать или есть какая то одна функция с этими буквами)
Почетный модератор
21388 / 9122 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014

Сообщение было отмечено Памирыч как решение
Решение
Самое простое — в цикле
1 2 3 4 5 6
Dim S As String = "Памирыч, нет я имею для букв а и буквы б (а если этих букв будет 10, то 10 функций нужно использовать или есть какая то одна функция с этими буквами)" Dim Repl As String = "абвг0" For Each Ch As Char In Repl S = S.Replace(Ch, "") Next MsgBox(S)
Добавлено через 2 минуты
Имхо, интереснее вот такой вариант.
1 2 3
Dim S As String = "Памирыч, нет я имею для букв а и буквы б (а если этих букв будет 10, то 10 функций нужно использовать или есть какая то одна функция с этими буквами)" Dim Repl As String() = {"а", "б", "в", "0"} MsgBox(String.Join("", S.Split(Repl, StringSplitOptions.RemoveEmptyEntries).ToArray))
Но это смотря какая задача стоит перед программистом
Регистрация: 15.11.2014
Сообщений: 187
1 я все понял, а вот 2 можно про те функции поподробнее ))
Почетный модератор
21388 / 9122 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
desant, да там особо не про что и рассказать — разбиваем строку по заданным символам да клеим обратно
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

В тексте удалить все заглавные буквы русского алфавита
В данном тексте удалить все заглавные буквы русского алфавита
В тексте удалить все гласные буквы, а согласные заменить на прописные
Множества: Дан текст на английском языке, который заканчивается точкой. В тексте удалить все.
В тексте удалить все гласные буквы, а согласные заменить на прописные.
Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а.
В тексте удалить все гласные буквы, а согласные заменить на прописные
Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а.

Во введенном тексте удалить все гласные буквы латинского алфавита
1. Составить программу, которая во введенном тексте удаляет все гласные буквы латинского алфавита.

В тексте удалить все гласные буквы, а согласные заменить на прописные
6)Задача 5. Дан текст на английском языке, который заканчивается точкой. В тексте удалить все.

