Мне нужно обновить двуязычный словарь, написанный в Writer, сначала разобрав все записи в свои части, например.Как tokenize/parse/искать и заменять документ шрифтом и стилем шрифта в LibreOffice Writer?
- главное слово (шрифт 1, выделены жирным шрифтом)
- внешней эквивалентной транслитерации (шрифт 1, курсив)
- иностранный эквивалент (шрифт 2, выделены жирным шрифтом)
- часть речи (шрифт 1, курсив)
Каждая строка документа является основным словом, за которым следуют перечисленные выше части, каждая из которых разделена пробелом или пунктуацией.
Мне нужно автоматизировать процесс прохода по всему файлу по строкам и поместить разделитель между каждой частью, игнорируя пробелы и пунктуацию, чтобы я мог импортировать его в файл Calc. Другими словами, «каждая часть» представляет собой последовательность символов (игнорируя пробелы и пунктуацию), которые имеют одинаковый шрифт и стиль шрифта.
Я пробовал стандарт Поиск & Функция замены и расширение AltSearch, но ни одна из них не может выполнить задачу. Основная проблема заключается я не в состоянии написать поисковый запрос, который говорит:
поиск: последовательных символов с тем же шрифтом и font_style, игнорировать пробелы и знаки препинания
Заменить термин найденное выше + " разделитель "
Любые предложения, как я могу написать сценарий для этого, или если существующий инструмент может решить проблему?
Спасибо!
Псевдо код желаемого эффекта:
var delimiter = "|"
Go to beginning of document
While not end of document do:
var $currLine = get line from doc
var $currChar = get next character which is not space or punctuation;
var $font = currChar.font
var $font_style - currChar.font_style (e.g. bold, italic, normal)
While not end of line do:
$currChar = next character which is not space or punctuation;
if (currChar.font != $font || currChar.font_style != $font_style) { // font or style has changed
print $delimiter
$font = currChar.font
$font_style - currChar.font_style (e.g. bold, italic, normal)
}
end While
end While
Распаковать .odt и вытащить файл .xml было полезным предложением! Я не понимал, что это был формат zip. – kaanch