Это главное.

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

В уравнениях есть вещи, которые были написаны с пробелом между числом и единицей, например:

100.11 m
200.32 W

и после импорта этого в Word, уравнения теряют место и теперь

100.11m
200.32W

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

Итак, мое регулярное выражение это ...

([0-9]*[\.|\,][0-9]*)([m|W])

Поиск номера с n цифрами, плюс точка или запятая, плюс другое число, плюс буква m или v ...

Я хочу вернуть пробелы, поэтому я сделал следующий макрос VBA

Sub AddSpace()
    For Each eqn In ActiveDocument.OMaths
        eqn.Range.Find.Execute FindText:="([0-9]*[\.|\,][0-9]*)([m|W])", ReplaceWith:="\1" & " " & "\2", MatchCase:=True, MatchWildcards:=True, Replace:=wdReplaceAll
    Next
End Sub

Этот скрипт вешает слово.

1 ответ1

0

Вот для простого решения:

Отредактируйте документ в Word, используйте команду "Заменить" (Ctrl+H), отметьте "Использовать подстановочные знаки" и введите:

Найдите что: ([0-9]@).([0-9]@)m
Заменить на: \1.\2 m

Затем нажмите « Заменить все».

Это сделает все m , затем повторите выше для W

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .