Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 13 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 27.01.2008
Откуда: Украина, Киев
Всем драсте. В общем необходимо написать скриптец, который бы удалял определенные символы из текста. Предполагаемый формат - док.(Ворд 2003)

Есть ли у кого какие идеи по автоматизации данного процесса?

_________________
Связь-ЛС.



Партнер
 

Member
Статус: Не в сети
Регистрация: 17.04.2008
Откуда: Москва
реферат делаешь? :)

_________________
GA-P55-US3L; i5-750 + Performa @ 3.8Ghz; GTX780; 2xKVR1333D3N9K2/4G


 

Member
Статус: Не в сети
Регистрация: 27.01.2008
Откуда: Украина, Киев
Нет, наполняю сайт...текст нужно разбить на очень много разделов, но в тексте попадается очень много символов "¬". Их нужно удалять. Но так как очень много будет таких документов, то вручную пидораситься особо не хочется.

_________________
Связь-ЛС.


 

Member
Статус: Не в сети
Регистрация: 08.05.2006
Откуда: СПБ
дык стандартно в ворде есть поиск и заменить на

_________________
Мы все знаем, что Linux — это круто… он выполняет бесконечные циклы за 5 секунд.
* Линус Торвальдс


 

Member
Статус: Не в сети
Регистрация: 27.01.2008
Откуда: Украина, Киев
Ну проще ведь раз написать скрипт и файло через него ганять, чем сидеть в ручном режиме клацать каждый файл?
Добавлено спустя 49 минут, 9 секунд
ух ты у нас цензурник как заработал =)

придется, я так понял, руцями делать =(

_________________
Связь-ЛС.


 

Member
Статус: Не в сети
Регистрация: 12.08.2007
Обратись к любому линуксовому админу он напишет тебе скрипт на перл, и не будет проблем.


 

Member
Статус: Не в сети
Регистрация: 02.12.2008
в целом на перле как-то так должно выглядеть, тыщу лет на нем не кодил, так что могут косяки, сорри заранее=))

Код:
#!/usr/bin/perl

open(FILE,$ARGV[0]) || die "Error while opening $ARGV[0]: $!";
open(OUTPUT_FILE,"> $ARGV[1]") || die "Error while opening $ARGV[1]: $!";

while ($read=<FILE>)
{
$read=~s/¬//g;
print OUTPUT_FILE "$read\n";
}
close(FILE);
close(OUTPUT_FILE);



Соответственно, запускаем скрипт с двумя параметрами: perl script.pl исходный_файл.doc результат.doc

Надеюсь, заработает=) Переустановил винду, поэтому перла ща нет на компе, проверить не могу, сорри!=)


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Lucky13
не прокатит. Причем гарантированно. Потому что DOC - бинарный формат, а не текстовый. На выходе получится мусор.
Menwyy
Я вижу, что ветка февральская и никому не интересная, но все равно скажу, что такая задача решается встроенными в Ворд макросредствами. Записываешь макрос поиска_и_замены нужного символа, а потом чуть модифицируешь, чтобы он автоматически применялся к определенному набору файлов (напр, в опр. директории). Времязатраты - порядка пары часов максимум, причем большее время займет чтение документации...

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Junior
Статус: Не в сети
Регистрация: 09.04.2008
Откуда: Питер
Вот простой скрипт на ruby.
Реализовать по аналогии можно на любом языке - это OLE.
Реально сделать даже на встроенных в виндовс vbscript и javascript.
require 'win32ole'
begin
path='D:\нотбук\D\distr\ruby\ole'
files=['test1.doc','test2.doc']
wordapp = WIN32OLE.new('word.application')
wordapp.visible = false
files.each {|file_name|
document=wordapp.documents.open("#{path}\\#{file_name}")
range=document.content
range.find.execute('FindText'=>'Проверка','ReplaceWith' => 'УРАААААА','Replace'=>2)
document.save
document.close(false)
}
ensure
wordapp.quit if !wordapp.nil?
end


 

Leap Ahead™
Статус: Не в сети
Регистрация: 02.09.2003
Как лучше сделать перле такую вещь:
Для каждой строки файла, найти определенный символ, и начиная с него до него же составить аррэй, в ячейках которого каждый карактер этого куска строки?


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
сначала рэгэкспом, а потом сплитом
Код:
$string =~ /X(.*?)X/;
@arr = split('', $1);


 

Leap Ahead™
Статус: Не в сети
Регистрация: 02.09.2003
ToSHiC
Спасибо, буду разюираться.


 

Member
Статус: Не в сети
Регистрация: 27.01.2008
Откуда: Украина, Киев
Всем огромное спасибо...пропал я на долго...решил тогда проблему таки самим вордом.

_________________
Связь-ЛС.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 13 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan