Вопрос № 171222: Добрый день. У меня есть текстовый файл base.txt Записей в нем много. Но есть около 2500 тысяч строк с такой тематикой: ii('Кирилов А.Ю.',100,30,60,'3,0,2,0,2,0,0,0','600,0,300,0,300,0,0,0'); В них меняется толь...
Вопрос № 171222:
Добрый день. У меня есть текстовый файл base.txt Записей в нем много. Но есть около 2500 тысяч строк с такой тематикой: ii('Кирилов А.Ю.',100,30,60,'3,0,2,0,2,0,0,0','600,0,300,0,300,0,0,0'); В них меняется только Фамилия и числа, все знаки остаются на местах. Помогите пожалуйста с процедурой, которая открывала бы этот файл. И меняли все строки, пример написала выше, вот так: Кирилов А.Ю 100,30,60,3,0,2,0,2,0,0,0,600,0,300,0,300,0,0,0 И после чего перезаписывала
бы файл.
Я не знаю сколько это займёт времени, можно переделать на поток, но вот пример который вы просили Я рекомендовал бы вынести преобразование строк в отдельные функции, но никто не запрещает писать в столбик.
#thank 253134
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает VolRus, 5-й класс :
Здравствуйте, Павлова Анна Николаевна.
Смотрите приложение.
Редактирование ответа: процедура перенесена в приложение.
-----
∙ Отредактировал: Зенченко Константин Николаевич, Модератор
∙ Дата редактирования: 11.08.2009, 15:41 (время московское)
Приложение:
Ответ отправил: VolRus, 5-й класс
Ответ отправлен: 11.08.2009, 14:37
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 253135
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Gramy, 2-й класс :
Здравствуйте, Павлова Анна Николаевна.
Если внимательно присмотреться к тому, как должна быть модифицирована каждая строка, то легко заметить, что все изменения сводятся только к удалению отдельных символов, за исключением первой запятой, которую сдедует заменить на пробел. Поскольку исключаемые группы символов не могут присутствовать в результирующей строке, то можно не проверять их наличие и местоположение, а просто сразу пытаться заменить на пустую строку. Если бы не требовалось обрабатывать первую
запятую отдельно, то, в принципе, можно было бы за один проход обработать весь файл как одну строку, воспользовавшись свойством Text (хотя это и нежелательно из-за затратности модификации длинных строк). Я не вижу причины удалять точку после "Ю", поэтому списываю это на опечатку. Если же такая необходимость действительно существует, от неё можно легко избавиться: развернуть строку с помощью ReverseString, удалить первое сочетание апостроф+точка, и развернуть
обратно. Естественно, это нужно делать до удаления апострофов.
Приложение:
Ответ отправил: Gramy, 2-й класс
Ответ отправлен: 13.08.2009, 03:07
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 253158
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.