我有以下代碼:的Python:應用re.sub沒有改變任何
def gettextbyxpath(tree, xpath):
node = tree.xpath(xpath)[0]
try:
text = etree.tostring(node, method="text", encoding='UTF-8').strip()
text = re.sub(' +',' ', text)
text = re.sub('\n+','\n', text)
text = re.sub('\n \n','\n', text)
except:
text = 'ERROR'
return text
隨着最後一行我試圖讓與他們只是一個單一的空間,擺脫線。實際數據中有很多。
當我將上面的代碼作爲獨立測試運行時,它工作正常,但在真實代碼中,最後一行完全不起作用!我試過比較使用和不使用它的文件 - 沒有區別。
例輸入:
Brand:
777,Royal Lion
Main Products:
battery, 777, carbon zinc, paper jacket,
我試圖擺脫線之間的垂直空白的。
任何想法爲什麼我的代碼可能會像這樣?
你檢查過CRLF('\ r \ n')行尾嗎? – ecatmur
您必須爲您的模式使用原始字符串或轉義反斜槓。 –
@CasimiretHippolyte,我確定嗎?我的意思是那裏有NEWLINE標誌。 –