Aspose. Альтернативы Word [закрываются]

Здесь есть несколько подходов, основанных на том, насколько сильно могут варьироваться ваши данные: Итак, давайте попробуем построить метод get_filename(f)

Быстрый и грязный

Если вы знаете, что [114 ] всегда заканчивается одинаково, тогда вы можете напрямую попытаться удалить эти символы. Итак, здесь мы должны удалить последние 16 символов. Полезно знать, что в Python строку можно рассматривать как (неизменяемый) массив символов, поэтому вы также можете использовать индексирование списков.

get_filename(f: str):
    return f[:-16]

Однако произойдет сбой, если длина Идентификатора или суффикса изменится.

Различные длины

Если суффикс изменяется в зависимости от длины, вам следует разбить строку на фиксированный разделитель и вернуть соответствующую часть. В этом случае вы хотите разделить на -.

get_filename(f: str):
    return f.split("-")[0]

Обратите внимание, что это не удастся, если имя файла также содержит -. Вы можете исправить это, отбросив последнюю часть и воссоединив все предыдущие части, следующим образом.

get_filename(f: str):
    return "-".join(f.split("-")[:-1])

Использование регулярных выражений для соответствия формату

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

12
задан SaguiItay 19 January 2010 в 23:25
поделиться

2 ответа

Если Java является опцией (или предпочтение), Вы могли бы попробовать docx4j

0
ответ дан 2 December 2019 в 23:31
поделиться

Я не знаю, подходит ли это для Вашей цели, но Вы могли бы хотеть взглянуть на b2xtranslator проект на SourceForge:

http://b2xtranslator.sourceforge.net/

2
ответ дан 2 December 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: