Текстовый файл содержит строку, в которой есть русские и английские слова. Написать...

0 голосов
40 просмотров

Текстовый файл содержит строку, в которой есть русские и английские слова. Написать программу, которая считывает этот файл и создает два новых, в одном из которых оказываются только русские, а в другом – только английские слова, содержащиеся в исходном файле.


Информатика (15 баллов) | 40 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
И снова - приятно, когда кратко))

// PascalABC.NET 3.2, сборка 1483 от 14.06.2017

// Внимание! Если программа не работает, обновите версию!

begin
  var w:=ReadAllText('in.txt'); w.Println;
  var s:=w.MatchValues('\b[A-Za-z]+\b').JoinIntoString(' ');
  s.Println; WriteAllText('Eng.txt',s);
  s:=w.MatchValues('\b[А-Яа-яЁё]+\b').JoinIntoString(' ');
  s.Println; WriteAllText('Rus.txt',s);
end.

Пример (читаем in.txt, пишем в Eng.txt и Rus.txt)
The Флегматичная ЭтА QuICk веРБлЮдица broWN ЖУЕТ fox JuMpS у подъезда over The ЗаСыХающИЙ LAZY ГорькиЙ dog шиПоВНиК

The QuICk broWN fox JuMpS over The LAZY dog

Флегматичная ЭтА веРБлЮдица ЖУЕТ у подъезда ЗаСыХающИЙ ГорькиЙ шиПоВНиК


Скачать вложение Текст (TXT)
(150k баллов)