使用python删除power point中的特定单词 [英] delete particular word in power point using python

查看:51
本文介绍了使用python删除power point中的特定单词的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用python删除power point中的一些单词而不管大写/小写

I want to delete some word in power point using python irrespective of uppercase/lowercase

import re
from pptx import Presentation
prs = Presentation(r'C:\Users\......\xxx.pptx')


for slide in prs.slides:
    for shape in slide.shapes:
        if shape.has_text_frame:
            if(shape.text.find("sign"))!=-1:
                text_frame = shape.text_frame
                cur_text = text_frame.paragraphs[0].runs[0].text
                new_text = cur_text.replace(str("sign"), str(""))
                text_frame.paragraphs[0].runs[0].text = new_text
prs.save(r'C:\Users\....\xxx.pptx')

在这段代码中,我试图删除所有单词sign"目前在电源点.我也想删除所有像SIGN"、SIGN"这样的词.信号"但不是zzsignzz"、xxSigN"、SiGnxx".

In this code, i am trying to delete all word "sign" present in power point. Also i want to delete all word like "SIgn", "sigN" "SiGn" but not "zzsignzz", "xxSigN", "SiGnxx".

谁能看看这个.

推荐答案

使用正则表达式替换不需要的文本.

Use regular expressions to replace unwanted text.

  • 使用模式来优化搜索和替换,因为您将一直在寻找同一个词
  • 使用IGNORECASE 标志来捕捉所有sign 可能性
  • 在你的模式前后放置 \b 来标记你的单词边界(这样 xxsign 将被忽略)
  • Use a pattern to optimize search and replacement, as you will be always looking for the same word
  • Use IGNORECASE flag to catch all your sign possibilities
  • Put \b before and after your pattern to mark your word boundaries (this way xxsign will be ignored)

例如:

>>> import re
>>> pattern = re.compile(r"\bsign\b", flags=re.IGNORECASE | re.MULTILINE)
>>> words = ["SIgn", "sigN" "SiGn", "zzsignzz", "xxSigN", "SiGnxx"]
>>> for word in words:
>>>   new_word = pattern.sub("", word)
>>>   print(new_word)
''
''
''
'sigNSiGn'
'zzsignzz'
'xxSigN'
'SiGnxx'

我不是 pptx 库的专家,但你可以试试:

I'm not expert about pptx library, but you could try:

import re
from pptx import Presentation
prs = Presentation(r'C:\Users\......\xxx.pptx')

pattern = re.compile(r"\bsign\b", flags=re.IGNORECASE)

for slide in prs.slides:
    for shape in slide.shapes:
        if shape.has_text_frame:
            shape.text_frame = pattern.sub("", shape.text_frame)

prs.save(r'C:\Users\....\xxx.pptx')

这篇关于使用python删除power point中的特定单词的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆