0 / 0 / 0
Регистрация: 10.03.2015
Сообщений: 7
1

В текстовом файле заменить все группы пробелов на один пробел

17.03.2015, 12:03. Показов 3849. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В текстовом файле заменить все группы пропусков , больше 1 на 1 пробел. Помогите решить задачу. Заранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2015, 12:03
Ответы с готовыми решениями:

Заменить в файле все элементы, равные lit, на пробел
Люди добрые помогите пожалуйста) Задан текстовой файл и некоторая литера lit. Написать...

В текстовом файле заменить все цифры на римские
Привет. Вот задача к сессии... не хватает меня что-то на нее.. Дан файл C:\1.txt, заменить в...

В текстовом файле заменить все символы ’0’ на символ '1' и наоборот.
Помогите решить... Дан текстовый файл. Заменить все символы ’0’ на символ '1' и наоборот.

Заменить в текстовом файле все вхождения одного слова на другое
Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в тексте разделены...

2
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
17.03.2015, 20:09 2
Лучший ответ Сообщение было отмечено DarkFix как решение

Решение

Для работы с текстовыми файлами доработайте самостоятельно.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var
    s: string;
    i: byte;
begin
    readln(s);
 
    i := 1; // избавляемся от пробелов спереди
    while s[i] = ' ' do delete(s,i,1);
    i := length(s); // избавляемся от пробелов сзади
    while s[i] = ' ' do begin delete(s,i,1); i := i - 1 end;
 
    i := 1; // замена пробелов звездочками
    while i <= length(s) do begin
        if s[i] = ' ' then
            if s[i-1] = ' ' then begin
                delete(s,i,1);
                i := i - 1;
            end
            else begin
                delete(s,i,1);
                insert(' ',s,i);
            end;
        i := i + 1;
    end;
 
    writeln(s);
end.
0
Модератор
9855 / 5225 / 3304
Регистрация: 17.08.2012
Сообщений: 15,984
19.03.2015, 18:49 3
ZX Spectrum-128, алгоритмическая ошибка. Будет вылет за границы диапазона индексов, если строка пустая или если строка состоит из одних пробелов. Код, который делает ровно то же самое, но без ошибок, ну и, цикл по файлу тоже написал от нечего делать:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const f1 = 'c:\test.txt';
      f2 = 'c:\test.tmp';
var s: string;
    f, g: text;
begin
  assign(f, f1);
  reset(f);
  assign(g, f2);
  rewrite(g);
  while not eof(f) do
    begin
      readln(f, s);
      while (length(s) > 0) and (s[1] = ' ') do delete(s, 1, 1);
      while (length(s) > 0) and (s[length(s)] = ' ') do delete(s, length(s), 1);
      while pos('  ', s) > 0 do delete(s, pos('  ', s), 1);
      writeln(g, s)
    end;
  close(f);
  close(g);
  erase(f);
  rename(g, f1)
end.
1
19.03.2015, 18:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2015, 18:49
Помогаю со студенческими работами здесь

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

Задача на удаление лишних пробелов в текстовом файле
Вот тут такая задачка кто нибудь помогите мне:help: Организовать текстовый файл состоящий из N...

Дана строка S и один текстовый файл. Заменить в файле все пустые строки на строку S
Дана строка S и один текстовый файл. Заменить в файле все пустые строки на строку S. Уже сам...

Подсчитать, сколько в текстовом файле строк, содержащих более 3 пробелов
В редакторе создайте текстовый файл, внесите в него 10 строк произвольного текста. • Составьте...


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

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

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