1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
1

Удаление символов с конца строки

14.11.2014, 11:43. Показов 13399. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим есть строка : 213srdadRasRRRRRR , нужно удалить буквы "R" находящиеся в конце строки. Простое stringreplace не подойдет, ибо она удалит все "R" , а мне нужно только определенные. Можете подсказать способ ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2014, 11:43
Ответы с готовыми решениями:

Удаление из начала и конца строки незначащих символов
Написать функцию Split, которая будет с начала и конца строки удалять незначимые символы (пробелы,...

Удаление от t= до конца строки
Добрый день, нужна помощь, имеется текст в Memo...

Удаление от начала / от конца строки
Ребята помогите решить вот такую задачу: В текстовом файле расположено много строк, все строки...

Удаление из начала и конца строки незначащих символов [Qt]
В объекте QString нужно удалить все непечатные символы в начале и в конце. Подскажите, как это...

11
841 / 736 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
14.11.2014, 13:17 2
Цитата Сообщение от vuasya Посмотреть сообщение
нужно удалить буквы "R" находящиеся в конце строки.
Находиш конец строки, функция Length, далее определяеш от какого символа и сколько символов удалить.
Цитата Сообщение от vuasya Посмотреть сообщение
Простое stringreplace не подойдет, ибо она удалит все "R" , а мне нужно только определенные.
Лови код, работает на ура! Удалит только последнюю букву. (их количество можеш в коде изменить).
Delphi
1
2
3
4
5
6
7
8
var
  stroka: string;
begin
  stroka:= '213srdadRasRRRRRR';
  Label1.Caption:= stroka;
  Delete(stroka, Length(stroka) -1 , 1);
  Label2.Caption:= stroka;
end;
Изображения
 
0
841 / 736 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
14.11.2014, 13:19 3
То есть вот так последнюю букву, а там выше предпоследнюю в коде было.
Delphi
1
Delete(stroka, Length(stroka), 1);
0
1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
14.11.2014, 13:21  [ТС] 4
да эт понятно, но кол-во букв повторяющихся в конце мне не известно. Вот в чем траблы ...
0
Модератор
8686 / 5735 / 2306
Регистрация: 21.01.2014
Сообщений: 24,573
Записей в блоге: 3
14.11.2014, 13:25 5
Цитата Сообщение от vuasya Посмотреть сообщение
но кол-во букв повторяющихся в конце мне не известно
Но тебе ведь известно, сколько букв с конца удалять? Так в чем проблема?
0
841 / 736 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
14.11.2014, 13:25 6
Цитата Сообщение от vuasya Посмотреть сообщение
кол-во букв повторяющихся в конце мне не известно. Вот в чем траблы ...
Тебе нужен парсинг.
Мне например известно их количество, я их спарсить регуляркой сумею. А тебе незнаю тогда что делать.
И вобще ты сам то хоть понял сколько букв тебе удалять (все R, не все R) и только ли с конца стороки? А вдруг посередине еще будут они стоять, а вдруг вначале стоки.
0
2 / 2 / 1
Регистрация: 23.04.2012
Сообщений: 115
14.11.2014, 13:42 7
Вам нужно удалить все повторяющиеся буквы с конца? Делайте цикл запоминайте кубвы и удаляйте пока не сталкнётесь с другой буквой
0
841 / 736 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
14.11.2014, 13:47 8
Цитата Сообщение от Доцент Посмотреть сообщение
Вам нужно удалить все повторяющиеся буквы с конца?
Он незнает что ему нужно, поэтому и непнятно какой код ему нужен.
0
1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
14.11.2014, 13:49  [ТС] 9
Цитата Сообщение от NIKOLAYY Посмотреть сообщение
вдруг посередине еще будут они стоять, а вдруг вначале стоки.
вот именно, что их мне удалять не надо, только с конца. Иначе бы я просто использовал stringreplace.
Цитата Сообщение от Доцент Посмотреть сообщение
Делайте цикл запоминайте кубвы
не пойдет т.к удалять мне нужно только с конца, если в середине строки встретится буква R, то ее нужно оставить
Цитата Сообщение от D1973 Посмотреть сообщение
Но тебе ведь известно, сколько букв с конца удалять?
нет, не известно
0
841 / 736 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
14.11.2014, 14:18 10
vuasya,
Узнаем какая последняя буква в строке и если эта буква = R то начинаем отсчет в цикле назад чтобы узнать сколько их стоит в конце строки (пока ненарвемся на другой символ)
Теперь мы знаем сколько их, соответственно можем и указать в коде начиная с какого символа удалять и до конца строки. Подойдет такой код?
0
841 / 736 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
14.11.2014, 15:14 11
Лучший ответ Сообщение было отмечено vuasya как решение

Решение

vuasya,
Вот держи, так ты наверное хотел, удаляем все буквы с конца строки в цикле до тех пор, пока эта буква = R
Delphi
1
2
3
4
5
6
7
8
9
var
  stroka: string;
begin
  stroka := '213srdadRasRRRRRR';
  Label1.Caption := stroka;
  while stroka[Length(stroka)] = 'R' do
    Delete(stroka, Length(stroka), 1);
  Label2.Caption := stroka;
end;
Изображения
 
1
1 / 1 / 2
Регистрация: 26.08.2013
Сообщений: 381
14.11.2014, 15:56  [ТС] 12
огромное спасибо ^^
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2014, 15:56
Помогаю со студенческими работами здесь

Ввести строки и через n символов первой строки вставить вторую строку, и так до конца строки
Помогите исправить баг задача состоит в следующем :ввести строку и простроку тоесть две строки и...

Дана строка символов, признак конца строки – точка. Сформировать множество не повторяющихся гласных символов
Дана строка символов, признак конца строки – точка. Сформировать множество не повторяющихся гласных...

Дана строка символов, среди которых есть <<->>. Определить, сколько символов от него до конца строки.
Дана строка символов, среди которых есть &lt;&lt;-&gt;&gt;. Определить, символов от него до конца строки. Кто...

Удаление всех символов от выделенного фрагмента до конца абзаца
Как удалить все символы от выделенного фрагмента до конца абзаца? Добавлено через 33 минуты в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru