Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Отредактировать текстовый файл

Ответить
Настройки темы
Отредактировать текстовый файл

Аватара для login

Пользователь


Сообщения: 61
Благодарности: 1

Профиль | Цитировать


Помогите пожалуйста отредактировать автоматически текстовик.
Исходный вид:

992
11301994
04
0000
130
Плата за выбросы
992
11301994
04
0000
130
Плата за выбросы
992
11301994
04
0000
130
Плата за выбросы

Конечный вид:

DKST||||20|99211301994040000130||Плата за выбросы||01.01.2014||1|01.01.2014 09:09:09|
DKST||||20|99211301994040000130||Плата за выбросы||01.01.2014||1|01.01.2014 09:09:09|
DKST||||20|99211301994040000130||Плата за выбросы||01.01.2014||1|01.01.2014 09:09:09|

Заранее спасибо

Отправлено: 17:05, 15-01-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


По каким принципам?

Отправлено: 18:07, 15-01-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


login,
Попробуйте примерно так.
Код: Выделить весь код
Local $sFile = @ScriptDir & '\text.txt', $sTxt, $aTxt, $iUb, $sBeginStr = 'DKST||||20|', $sMiddleStr = '1', _
        $sDate = '01.01.2014', $sTime = '09:09:09', $iMaxStrLen = 254

$aTxt = StringRegExp(FileRead($sFile), '([\d\r\n]+)(?<=[\r\n])([ЁёА-Яа-я].+?)(?=[\r\n]|$)', 3)
$iUb = UBound($aTxt)
If (Not $iUb) Or (Mod($iUb, 2)) Then Exit 13
For $i = 0 To $iUb - 1 Step 2
    $sTxt &= StringFormat('%s%s||%s|%s|%s||%s|%s %s|\r\n', $sBeginStr, StringRegExpReplace($aTxt[$i], '[^\d]', ''), _
            StringLeft($aTxt[$i + 1], $iMaxStrLen), $aTxt[$i + 1], $sDate, $sMiddleStr, $sDate, $sTime)
Next
$sTxt = StringTrimRight($sTxt, 2)
ConsoleWrite($sTxt & @LF)
text.txt:
Код: Выделить весь код
992
11301994
04
0000
130
Плата за выбросы
992
11301994
04
0000
130
Субвенции бюджетам городских округов на выполнение передаваемых полномочий субъектов Российской Федерации по выплате социального пособия на погребение, установленного статьей 10 Федерального закона от 12 января 1996 года № 8-ФЗ "О погребении и похоронном деле"
992
11301994
04
0000
130
Прочие субсидии бюджетам городских округов на реализацию подпрограммы "Модернизация автотранспортного комплекса Пензенской области (2011-2013 годы)" долгосрочной целевой программы "Повышение безопасности дорожного движения, развитие территориальной сети автомобильных дорог и транспортного комплекса Пензенской области на 2011-2014 годы" (кредиторская задолженность)

Последний раз редактировалось madmasles, 16-01-2014 в 13:58.


Отправлено: 20:12, 15-01-2014 | #3


Аватара для login

Пользователь


Сообщения: 61
Благодарности: 1

Профиль | Цитировать


Цитата madmasles:
([ЁёА-Яа-я\h]+) »
А если в тексте встречаются спец символы, как быть? (кавычки, запятые,тире и тп)

-------
Здесь кто-то был.


Последний раз редактировалось login, 16-01-2014 в 08:17.


Отправлено: 08:11, 16-01-2014 | #4


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата login:
А если в тексте встречаются спец символы »
Вы пример дали, я с ним и работал.
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:45, 16-01-2014 | #5


Аватара для login

Пользователь


Сообщения: 61
Благодарности: 1

Профиль | Цитировать


Огромное вам спасибо за проделанную работу!
Но подскажите уж, пожалуйста, как сделать, чтобы обрабатывались все символы.

-------
Здесь кто-то был.


Отправлено: 08:59, 16-01-2014 | #6


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


login,
Дайте пример всех возможных строк - не чисел.

Отправлено: 09:02, 16-01-2014 | #7


Аватара для login

Пользователь


Сообщения: 61
Благодарности: 1

Профиль | Цитировать


Субвенции бюджетам городских округов на выполнение передаваемых полномочий субъектов Российской Федерации по выплате социального пособия на погребение, установленного статьей 10 Федерального закона от 12 января 1996 года № 8-ФЗ "О погребении и похоронном деле"

Прочие субсидии бюджетам городских округов на реализацию подпрограммы "Модернизация автотранспортного комплекса Пензенской области (2011-2013 годы)" долгосрочной целевой программы "Повышение безопасности дорожного движения, развитие территориальной сети автомобильных дорог и транспортного комплекса Пензенской области на 2011-2014 годы" (кредиторская задолженность)

-------
Здесь кто-то был.


Отправлено: 09:05, 16-01-2014 | #8


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


login,
Я поменял код в своем первом сообщении.

На будущее - даете пример текста(файла) для обработки, включайте в него все возможные комбинации символов.

Отправлено: 09:14, 16-01-2014 | #9


Аватара для login

Пользователь


Сообщения: 61
Благодарности: 1

Профиль | Цитировать


Спасибо. Все получилось.

-------
Здесь кто-то был.


Отправлено: 10:31, 16-01-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Отредактировать текстовый файл

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Как отредактировать файл hosts в Windows 7? rim_muvies Microsoft Windows 7 36 19-05-2015 20:28
Разное - Помогите отредактировать файл формата .prfl sanek050294 Хочу все знать 0 24-10-2011 17:44
[решено] Как отредактировать файл hosts, в ручную? micro8 Хочу все знать 5 25-12-2010 14:40
VBS/WSH/JS - Экспорт значений реестра в общий текстовый файл + добавление доп данных в этот файл fedko Скриптовые языки администрирования Windows 0 17-06-2010 11:52
Любой язык - Подскажите как отредактировать EXE файл? ofcoss Скриптовые языки администрирования Windows 1 08-09-2009 15:50




 
Переход