проверять строку посимвольно. Если не цифра, копировать в другую строку =)
Или если цифра - удалять:
for i:=length(s) downto 1 do
if s[ i ] in [ '0'..'9' ] then delete(s,i,1);
Другие языки программирования и технологии
Удалить из строки все цифры. Как решить эту задачу в паскале??
Самый доходчивый (простой) способ такой:
var
Ch : Char;
Str : String;
…
begin
…
for Ch := '0' to '9' do { Для всец цифр от 0 до 9 }
while Pos(Ch, Srt) > 0 do { Пока позиция цифры в строке не нулевая }
Delete(Str, Pos(Ch, Str, 1); { Удалим символ из позиции }
…
end.
Не совсем оптимально, но вполне приемлемо.
Хотя, гораздо красивее было бы через доп. строку:
var
n : Byte;
Str, Tmp : String;
…
begin
…
Tmp := ''; { Временная строка вначале пуста }
for n := 1 to Length(Str) do { Пробегаемся по всем символам строки }
if Not(Str[n] in ['0'..'9']) then { Если текущий символ не цифра }
Tmp := Tmp + Str[n]; { Добавить символ к временной строке }
Str := Tmp; { Теперь строка без цифр }
…
end.
var
Ch : Char;
Str : String;
…
begin
…
for Ch := '0' to '9' do { Для всец цифр от 0 до 9 }
while Pos(Ch, Srt) > 0 do { Пока позиция цифры в строке не нулевая }
Delete(Str, Pos(Ch, Str, 1); { Удалим символ из позиции }
…
end.
Не совсем оптимально, но вполне приемлемо.
Хотя, гораздо красивее было бы через доп. строку:
var
n : Byte;
Str, Tmp : String;
…
begin
…
Tmp := ''; { Временная строка вначале пуста }
for n := 1 to Length(Str) do { Пробегаемся по всем символам строки }
if Not(Str[n] in ['0'..'9']) then { Если текущий символ не цифра }
Tmp := Tmp + Str[n]; { Добавить символ к временной строке }
Str := Tmp; { Теперь строка без цифр }
…
end.
задать пустой массив.
строку представить как массив символов. в цикле пройтись по массиву и проверить является ли текущий элемент массива цифрой (например проверяя входит ли он в диапазон от 0 до 9). далее условие, если это цифра переходим к следующему элементу масива иначе записываем букву в пустой массив. на выходе два массива символов - исходный и полученный.
строку представить как массив символов. в цикле пройтись по массиву и проверить является ли текущий элемент массива цифрой (например проверяя входит ли он в диапазон от 0 до 9). далее условие, если это цифра переходим к следующему элементу масива иначе записываем букву в пустой массив. на выходе два массива символов - исходный и полученный.
а какой паскаль интересует? Я - в агенте
Похожие вопросы
- Решите пожалуйста задачу в Паскале) Нестандартная)
- Помогите решить задачу в паскале. Задание: Заменить в строке все вхождения "да" на "нет".
- Pascal. Помогите пожалуйста решить задачу в паскале !
- Помогите решить задачи по Паскалю
- помогите решить задачу на паскале: напечатать "столбиком" значения sin2, sin3, ..sin 20.
- Помогите,пожалуйста,решить задачу в Паскале.
- Помогите решить задачу в паскале
- Может кто-нибудь решить задачу на Паскале?
- Помогите решить задачу на паскале
- ПОМОГИТЕ С ЗАДАЧАМИ В ПАСКАЛЕ