簡體   English   中英

使用python RE替換Word文檔中的字符串?

[英]Using python RE to replace a string in Word Document?

因此,我試圖通過一個word文檔來替換所有文本字符串,用'aaa'(僅作為例子)將其替換為來自用戶輸入的變量,我一直在用stackoverflow上的幾個答案抨擊我的頭腦來弄清楚遇到了我之前從未使用過的正則表達式,在使用了一些教程之后我似乎無法理解它。

這是我嘗試過的所有代碼示例,但似乎無法讓python實際更改此Word文檔中的文本字符串。

 from docx import Document
 import re

 signature = Document ('test1.docx')
 person = raw_input('Name?')
 person = person+('.docx')
 save = signature.save(person)


 name_change = raw_input('Change name?')
 line = re.sub('[a]{3}',name_change,signature)
 print line
 save
 for line in signature.paragraphs:
     line = re.sub('[a]{3}',name_change,signature)

 for table in signature.tables:
     for cell in table.cells:
        for paragraph in cell.paragraphs:
            if 'aaa' in paragraph.text:
                print paragraph.text
                paragraph.text= replace('aaa',name_change)

  save

預先感謝您的任何幫助。

for line in signature.paragraphs:
    line = re.sub('[a]{3}',name_change,signature)

上面的代碼是多余的,因為您使用re.sub更新變量line ,但它不會導致實際原點的更新,如下所示:

data = ['aaa', 'baaa']
for item in data:
    item = re.sub('[a]{3}', 't', item)

print(data)
#['aaa', 'baaa']  

此外,您正在迭代signature.paragraphs但每次只在整個signature上調用re.sub 嘗試這樣的事情:

signature = re.sub('[a]{3}', name_change, signature)
save

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM