2016-09-22 4 views
-1

Ich muss die ersten 3 oder 4 ASCII-Extended-Zeichen aus einem Debug-Sätze in Python entfernen, aber ich kann jetzt nicht. Dies ist ein Beispiel:Parse in Python ASCII erweiterte Zeichen am Anfang

ª!è[002:58:535]REGMICRO:Load: 36.6

ëª7è[001:40:971]HTTP_CLI:Http Client Mng not initialized.

Ich habe versucht: ^.*[A-Za-z]+$

und

[\x80-\xFF]+HTTP_CLI:0 - Line written in.*

Aber alles ignoriert und gibt mir diese Fehlermeldung:

"20160922 15:16:28.549 : FAIL : UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 1: ordinal not in range(128) 20160922 15:16:28.551 : INFO : ${resulters} = ('FAIL', u"UnicodeEncodeError: 'ascii' codec can't encode character u'\\x80' in position 1: ordinal not in range(128)") 20160922 15:16:28.553 : INFO : ('FAIL', u"UnicodeEncodeError: 'ascii' codec can't encode character u'\\x80' in position 1: ordinal not in range(128)")"

Wer arbeitet an RIDE und Python?

Vielen Dank!

+0

sagen Sie das Problem mit RIDE (IDE) oder ein Roboter Rahmen Test? Das sind zwei verschiedene Dinge. –

+0

Sorry das Problem ist mit RIDE, läuft auf Python, so dass ich nur die ersten 3 oder 4 Zeichen mit einem REGEX ignorieren will, das ist es, aber ich kann nicht finden, wie ... – Sergi

+0

So bekommen Sie nur dieses Problem, wenn Bearbeiten eines Testfalls, und passiert nicht, wenn Sie einen Testfall ausführen? –

Antwort

1

Beantworten, wie die Zeichen vor den eckigen Klammern mit RF entfernen (wenn ich die Frage richtig verstanden habe, ehrlich gesagt - ich bin mir nicht sicher) - die Regex, die Sie versuchten, ist nicht korrekt; sagen Sie alles, was nach der ersten eckigen Klammer erhalten mögen:

${line}= Set Variable ëª7è[001:40:971]HTTP_CLI:Http Client Mng not initialized. 
${regx}= Set Variable ^.*(\\[.*$) 
${result}= Get Regexp Matches  ${line}  ${regx}  1 

Die Regex Sie gehen nach (Linie 2 ^) ist „von Anfang der Zeile, überspringt alles bis zur ersten eckigen Klammer - und die Sequenz von der eckigen Klammer bis zum Ende ist Gruppe 1 ". Dann die kw mit "Get Regexp Spiele" Sie bekommen das angepasste Gruppe 1.

In Python:

import re 
line = "ëª7è[001:40:971]HTTP_CLI:Http Client Mng not initialized." 
regx = "^.*(\\[.*$)" 
result = re.search(regx, line).group(1) # the value of result is "[001:40:971]HTTP_CLI:Http Client Mng not initialized." 
Verwandte Themen