Как удалить слова в строках с помощью Remove
slovo2 заднее слово в строку. Вопрос: В как удалить slovo1 и slovo2 если это string, а не int?
Ремув просто удаляет подстроку начиная с определенного индекса. То есть что бы удалить слово в конце строки нужно написать индекс с которого начинается это слово:
Но лучше использовать риплейс
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.13.43306
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как удалить слово из строки c
Конкатенация строк или объединение может производиться как с помощью операции + , так и с помощью метода Concat :
Метод Concat является статическим методом класса string, принимающим в качестве параметров две строки. Также имеются другие версии метода, принимающие другое количество параметров.
Для объединения строк также может использоваться метод Join :
Метод Join также является статическим. Использованная выше версия метода получает два параметра: строку-разделитель (в данном случае пробел) и массив строк, которые будут соединяться и разделяться разделителем.
Сравнение строк
Для сравнения строк применяется статический метод Compare :
Данная версия метода Compare принимает две строки и возвращает число. Если первая строка по алфавиту стоит выше второй, то возвращается число меньше нуля. В противном случае возвращается число больше нуля. И третий случай — если строки равны, то возвращается число 0.
В данном случае так как символ h по алфавиту стоит выше символа w, то и первая строка будет стоять выше.
Поиск в строке
С помощью метода IndexOf мы можем определить индекс первого вхождения отдельного символа или подстроки в строке:
Подобным образом действует метод LastIndexOf , только находит индекс последнего вхождения символа или подстроки в строку.
Еще одна группа методов позволяет узнать начинается или заканчивается ли строка на определенную подстроку. Для этого предназначены методы StartsWith и EndsWith . Например, в массиве строк хранится список файлов, и нам надо вывести все файлы с расширением exe:
Разделение строк
С помощью функции Split мы можем разделить строку на массив подстрок. В качестве параметра функция Split принимает массив символов или строк, которые и будут служить разделителями. Например, подсчитаем количество слов в сроке, разделив ее по пробельным символам:
Это не лучший способ разделения по пробелам, так как во входной строке у нас могло бы быть несколько подряд идущих пробелов и в итоговый массив также бы попадали пробелы, поэтому лучше использовать другую версию метода:
Второй параметр StringSplitOptions.RemoveEmptyEntries говорит, что надо удалить все пустые подстроки.
Обрезка строки
Для обрезки начальных или концевых символов используется функция Trim :
Функция Trim без параметров обрезает начальные и конечные пробелы и возвращает обрезанную строку. Чтобы явным образом указать, какие начальные и конечные символы следует обрезать, мы можем передать в функцию массив этих символов.
Эта функция имеет частичные аналоги: функция TrimStart обрезает начальные символы, а функция TrimEnd обрезает конечные символы.
Обрезать определенную часть строки позволяет функция Substring :
Функция Substring также возвращает обрезанную строку. В качестве параметра первая использованная версия применяет индекс, начиная с которого надо обрезать строку. Вторая версия применяет два параметра — индекс начала обрезки и длину вырезаемой части строки.
Вставка
Для вставки одной строки в другую применяется функция Insert :
Первым параметром в функции Insert является индекс, по которому надо вставлять подстроку, а второй параметр — собственно подстрока.
Удаление строк
Удалить часть строки помогает метод Remove :
Первая версия метода Remove принимает индекс в строке, начиная с которого надо удалить все символы. Вторая версия принимает еще один параметр — сколько символов надо удалить.
Замена
Чтобы заменить один символ или подстроку на другую, применяется метод Replace :
Во втором случае применения функции Replace строка из одного символа «о» заменяется на пустую строку, то есть фактически удаляется из текста. Подобным способом легко удалять какой-то определенный текст в строках.
Смена регистра
Для приведения строки к верхнему и нижнему регистру используются соответственно функции ToUpper() и ToLower() :
Как удалить первое слово из строки?
И я хочу, чтобы в строковом предложении было «как дела» без «Hello». Как бы я поступил так?
Я пытался сделать что-то вроде:
Но когда я сделал:
Совершенно очевидно, что stringstream не меняет фактическую строку. Я также пытался использовать strtok но это плохо работает с string ,
Решение
Предполагается, что строка не начинается с пустого места. В таком случае это не работает.
список символов в нашем случае это пробел и табуляция. Это будет искать первое вхождение любого из списка символов и возвращает итератор. После этого добавление +1 перемещает позицию на один символ. Затем позиция указывает на второе слово строки.
Substr(pos) извлечет подстроку, начиная с позиции до последнего символа строки.
Другие решения
Есть бесчисленное множество способов сделать это. Я думаю, я бы пошел с этим:
Конечно, если у вас нет действительно веской причины не делать этого, first_space != std::string::npos , что означало бы, что пространство не было найдено. Проверка не указана в моем примере кода для ясности
Вы могли бы использовать string::find() найти первое место. Как только у вас есть его индекс, то получите подстроку с string::substr() от индекса после индекса пробела до конца строки.
Вы можете, например, взять оставшуюся подстроку
Тем не менее, это также зависит от того, что вы хотите сделать дальше
Вот как использовать stringstream извлечь нежелательное слово, игнорируя пробел до или после (используя std::ws ), затем получите оставшуюся часть предложения с надежной обработкой ошибок ….
Как удалить последний символ в строке на C#?
Как удалить последний символ в строка С помощью C#?
10 ответов:
построить его с string.Join вместо:
string.Join берет разделитель ( «&» ) и массив строк ( parameters ), и вставляет разделитель между каждым элементом массива.
лично я бы пошел с предложением Роба, но если вы хотите удалить один (или несколько) конкретных символов трейлинга, вы можете использовать TrimEnd . Е. Г.
Я бы просто не добавить его в первую очередь:
лучше, если вы используете string.Join .
Это хорошая практика, чтобы использовать StringBuilder при объединении большого количества строк, а затем вы можете использовать метод Remove, чтобы избавиться от конечного символа.
это работает, чтобы удалить один символ с конца строки. Но если я использую его для удаления, скажем,4 символы, это не работает:
в качестве альтернативы, я использовал этот подход вместо:
добавить StringBuilder extension method .
затем использовать: