2016-06-03 2 views
0

Ich versuche, ein Makro für Libre/Open Office in Python zu schreiben.Entfernen Sie Wagenrücklauf in Python-Makro für Libre oder Open Office

Ich benutze dies für einige Zeichenfolge ersetzen und es ist Arbeit:

document = XSCRIPTCONTEXT.getDocument() 
search = document.createSearchDescriptor() 
search.SearchString = "\:\Z" 
search.SearchAll = True 
search.SearchCaseSensitive = False 
search.SearchRegularExpression = True 
selsFound = document.findAll(search) 

if selsFound.getCount() == 0: 
    return 
for selIndex in range(0, selsFound.getCount()): 
    selFound = selsFound.getByIndex(selIndex) 

    selFound.setString("") 

Aber jetzt will ich nach einem Wagen entfernen, und ich, wie nicht finden kann. für exemple:

Mister Dean : 
blablablalblal lbbla 

zu

Mister Dean : blablablablabla 

ich mit \ n oder \ r versuchen aber libre-Büro hat den Begriff nicht erkennen.

Vielen Dank für all :)

+0

Mögliche Duplikat [Search Strings und Zeilenumbrüche mit PyUNO] (http://stackoverflow.com/questions/33912147/search-strings-and-line-breaks-with-pyuno) –

+0

Thx! Ich nicht genau das gleiche, aber es hilft mir. Ich versuche eine Bruchlinie nach einer Regex zu löschen. Diese Lösung funktioniert, aber es ist ein Hack: Suchen Sie die Regex, erstellen Sie einen Cursor, gehen Sie nach rechts, löschen. Es ist seltsam, dass ich die Bruchlinie nicht direkt finden und löschen kann. – Slaan

+0

Das macht für mich Sinn, wenn man bedenkt, wie reguläre Ausdrücke in Sprachen wie Perl funktionieren. Perl-Regexes werden standardmäßig an Zeilenumbrüchen angehalten, obwohl Perl über den [m-Modifikator] (http://perldoc.perl.org/perlre.html#Modifiers) verfügt, um mehr Funktionalität bereitzustellen. –

Antwort

0

My (LO 4.1.6.2/Linux) Online-Hilfe sagt mir ein \n zu verwenden für ein newline character eingegeben mit Ctrl suchen + Geben Sie.

Wenn eine Ersetzung Anweisung nicht gegeben ist, bekomme ich, was Sie wollen. Ich bin mir ziemlich sicher, dass dies mit Python für Sie funktionieren wird (ich habe es tatsächlich mit StarBasic getestet).

edit: korrigierte Tastenkombination

+0

Thx für Ihre Antwort. Die "\ n" Regex finden nichts. Auf Python-Skripten und mit dem Suchwerkzeug. (LO-Version: 5.1.3.2. Build-ID: 1: 5.1.3-0ubuntu1). Also muss ich einen "Hack" mit verwenden: Regex "\: \ Z" suchen, einen Cursor erstellen, nach rechts gehen und löschen. Aber es scheint nicht der gute Weg. – Slaan

+0

Bitte melden Sie einen Fehler, dann: [Link] (https://bugs.documentfoundation.org/) Bugzilla – ngulam

Verwandte Themen