2016-01-30 3 views
0

Как я могу найти и заменить текст с помощью регулярных выражений в макросах Openoffice?Поиск и замена с помощью регулярных выражений Макрос Openoffice

Я пытаюсь

oDoc = ThisComponent 

Public Function findReplace(oDoc As Object, findStr As String, replaceStr As String) As Integer 
    oSearch = oDoc.createSearchDescriptor 
    oSearch.searchAll = False 
    oSearch.SearchString = findStr 
    oSearch.ReplaceString = replaceStr 
    oDoc.replaceAll(oSearch) 
End Function 


findReplace(oDoc, ". 
", " ") 

Я делаю этот вопрос, потому что мне нужно найти «\ п» (точка структурной линии) и заменить другой символ. В приведенном выше коде я получаю синтаксическую ошибку.

Также я пытаюсь

findReplace(oDoc, "."+chr(13), " ") 

Но это не работает

ответ

0

Чтобы использовать регулярные выражения, сделайте следующее:

oSearch.SearchRegularExpression = True 

Поиск новых строк представляет собой особый случай, так как символ новой строки это конец матча, а не часть матча. Для перерывов в абзаце соответствует \.$. Для разрывов строк используйте \.\n.

Проверьте эти ссылки:

Смежные вопросы