python实现替换word中的关键文字(使用通配符)

来源:脚本之家  责任编辑:小易  

何必纠结于这细节呢 一是类似的细节太多 根本记不住 其次这些细节不影响功能实现,比如说你要按你的期望方式过滤路径,那完全可以先把所有路径得出来,然后再用正则表达式筛选(正则表达式有问题那就是大bug了)

环境:Python3.6

上联:鸿是江边鸟,下联:蚕为天下虫。南朝时的江淹,在古代文学史上是个十分著名的人物。“梦笔生花”和“江郎才尽”,就是与他有关的妇孺皆知的成语。江淹年轻时家贫而才思敏捷。一次,一群文友在江边漫游,遇一蚕妇,当时有一颇负盛名的文人即兴出联曰;“蚕为天下虫。”将“蚕”拆为“天”和“虫”,别出心裁,一时难倒众多才子。正巧一群鸿雁飞落江边,江淹灵感触发,对曰:“鸿是江边鸟。”将“鸿”拆为“江”和“鸟”,与将“蚕”拆为“天”和“虫”有异曲同工之妙。江淹之对不仅反应奇快,而且对的贴切工巧,众人自然为之叹服。中国的方块字,或象形象声或蕴含玄机哲理,妙不可言。你看:天为一大,地乃土也;白水为泉,止戈为武;不正就

本文主要是通过win32com操作word,对word中进行常用的操作。本文以替换为例,讲解一下如何使用Python在word中使用“通配符模式”(类似于正则表达式)替换文本内容。

随着文玩热的兴起,越来越多的年轻人成为引领手串时尚潮流的生力军,盘戴手串在年轻人之中也已蔚然成风。与成熟人士侧重人文历史传承不同,年轻人的选择更加感性,更讲“眼缘”,世间尤物万万千千,只钟情怦然心动的那一个!我们注意到有四种迷人的手串,特别受年轻人青睐。它们有什么样的魅力呢?让我们来认识一下。一、星月菩提星月菩提,有着最浪漫诗意的名字,以及清新脱俗的容颜,仅仅凭此就深深俘获了众多年轻男女的芳心。星月菩提是四大名珠之一,底蕴高雅,外观唯美,表面布有均匀小点,中间有一月孔,状如繁星托月,故名星月菩提。星月菩提是当今持者最广、影响力最大的菩提珠串。盘玩星月菩提有修身养性之功效,也有吉祥祈福之寓意。二

#!/usr/bin/env python # -*- coding:utf-8 -*- import os import win32com from win32com.client import Dispatch # 处理Word文档的类 class RemoteWord:     def __init__(self, filename=None):         self.xlApp = win32com.client.Dispatch('Word.Application') # 此处使用的是Dispatch,原文中使用的DispatchEx会报错         self.xlApp.Visible = 0 # 后台运行,不显示         self.xlApp.DisplayAlerts = 0  #不警告         if filename:             self.filename = filename             if os.path.exists(self.filename):                 self.doc = self.xlApp.Documents.Open(filename)             else:                 self.doc = self.xlApp.Documents.Add()  # 创建新的文档                 self.doc.SaveAs(filename)         else:             self.doc = self.xlApp.Documents.Add()             self.filename = ''     def add_doc_end(self, string):         '''在文档末尾添加内容'''         rangee = self.doc.Range()         rangee.InsertAfter('\n' + string)     def add_doc_start(self, string):         '''在文档开头添加内容'''         rangee = self.doc.Range(0, 0)         rangee.InsertBefore(string + '\n')     def insert_doc(self, insertPos, string):         '''在文档insertPos位置添加内容'''         rangee = self.doc.Range(0, insertPos)         if (insertPos == 0):             rangee.InsertAfter(string)         else:             rangee.InsertAfter('\n' + string)     def replace_doc(self, string, new_string):         '''替换文字'''         self.xlApp.Selection.Find.ClearFormatting()         self.xlApp.Selection.Find.Replacement.ClearFormatting()         #(string--搜索文本,         # True--区分大小写,         # True--完全匹配的单词,并非单词中的部分(全字匹配),         # True--使用通配符,         # True--同音,         # True--查找单词的各种形式,         # True--向文档尾部搜索,         # 1,         # True--带格式的文本,         # new_string--替换文本,         # 2--替换个数(全部替换)         self.xlApp.Selection.Find.Execute(string, False, False, False, False, False, True, 1, True, new_string, 2)     def replace_docs(self, string, new_string):         '''采用通配符匹配替换'''         self.xlApp.Selection.Find.ClearFormatting()         self.xlApp.Selection.Find.Replacement.ClearFormatting()         self.xlApp.Selection.Find.Execute(string, False, False, True, False, False, False, 1, False, new_string, 2)     def save(self):         '''保存文档'''         self.doc.Save()     def save_as(self, filename):         '''文档另存为'''         self.doc.SaveAs(filename)     def close(self):         '''保存文件、关闭文件'''         self.save()         self.xlApp.Documents.Close()         self.xlApp.Quit() if __name__ == '__main__':     # path = 'E:\\XXX.docx'     path = 'E:/XXX.docx'     doc = RemoteWord(path)  # 初始化一个doc对象     # 这里演示替换内容,其他功能自己按照上面类的功能按需使用     doc.replace_doc(' ', '')  # 替换文本内容     doc.replace_doc('.', '.') # 替换.为.     doc.replace_doc('\n', '') # 去除空行     doc.replace_doc('o','0') # 替换o为0     # doc.replace_docs('([0-9])@[、,,]([0-9])@', '\1.\2')  使用@不能识别改用{1,},\需要使用反斜杠转义     doc.replace_docs('([0-9]){1,}[、,,.]([0-9]){1,}', '\\1.\\2')  # 将数字中间的,,、.替换成.     doc.replace_docs('([0-9]){1,}[旧]([0-9]){1,}', '\\101\\2')   # 将数字中间的“旧”替换成“01”     doc.close()

用筷子打蛋清效果真的不好,而且手会打的累残。建议你用打蛋器打,现在网上买打蛋器也不是很贵,大概几十块钱就可以买一个。学做蛋糕还是从戚风入手吧,掌握了戚风的制作方法,就算是入了门。这款蛋糕也很容易失败,失败的因素有很多,我也是从网上试了好多方子,琢磨了好多次才成功的。而且跟一般做法用低筋面粉不同的是,我用的是中筋面粉,试了很多次感觉还是这个做出来口感最好。配料:中筋面粉125克,蛋黄70克(中等大鸡蛋4个),蛋清160克,牛奶45克;植物油45克,白砂糖30克(蛋黄用);白砂糖70克(蛋清用)分量:8寸圆模1个烘焙:160度,约1小时制作过程:1.蛋白蛋黄分离,盛蛋白的盆要保证无油无水,放在一旁

以上这篇python实现替换word中的关键文字(使用通配符)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

在农村花10万左右买车,其实预算已经不算是很低了。今天,小编就从轿车和SUV和MPV中,分别挑选车型来做推荐,方便咱们小伙伴们选择。首先一点的要求就是配置要高,并不能很落伍,其次一点就是在经济燃油性上较好。轿车,帝豪GL要是开着这款车型出去,小编觉得自己找对象也有希望了。别看这是一款8万起的家用紧凑型轿车,但是不得不说的就是帝豪GL营造出来的质感相当的强。而且在内饰的做工和用料上相当的不错,毫不夸张的说,比雅阁,帕萨特的还要好太多。其次一点就是在动力燃油性上,帝豪GL的表现也不错。SUV,维特拉毫无疑问,铃木的经济燃油性咱们完全不用考虑,因为实在是太省油了。至于说,在其他方面,其实10万左右,

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

python 通配符匹配如何进行?

我觉得你可以使用正则表达式,比如:

import re

p = re.compile('.*\.sougou\.com')

s = "ht.sougou.com!@#$%^&*()"

if p.match(s):

    print 'True'

Python中的%通配符有什么使用规则

%这个在字符串中是属于格式化的一种字符

比如 print( "%d"%2) 这样输出的就是 2 %d 就是说输出数字 后面 就必须跟着 int 型的数字

print("%s"%"你好") 这样就是输出 你好 这个字符 这里的%s 就是输出 字符串 后面跟着的是一个str 类型的参数

print("你好 %s 我今年%d岁"%("张三",12)) 这样是输出: 你好张三 我我今年12岁 后面跟着的就是一个元组类型的数据 这个元组 就要求 前面是str 后面是int

关于字符串的格式化还有一个 更加厉害的方法 就是 format() 这个你可以查一下 很多教程

手机码字 望采纳

关于python sql调用中通配符的使用问题?

你把jtime和nowtime的值和类型都打印出来看看

ps:最好用format

python怎么提取excle表格数据

通过实例来说明,在Excle表格中有数据和文字结合的内容

把Excle表格中的数据,复制——粘贴到word中。

按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签,在其高级功能下选择“使用通配符”

然后在查找的内容的位置输入:[0-9],替换位置:是空值,不输入任何数据。点击”全部替换“按钮。

点击"全部替换",数据中所有的数字全部删除掉了。

那么,如何提取Excle数据中的非数字部分?也是通过“使用通配符”来实现。

把原来的数据复制到word文档中去,按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签,在其高级功能下选择“使用通配符”,和上述的步骤一样。

在查找的内容的位置输入:[!0-9],替换位置:是空值,不输入任何数据。点击”全部替换“按钮。

这样,数据中所有的非数字数字全部删除掉了。

这里,介绍一下数据中包含 字符和数字的情况,这里不需要使用通配符功能,也可以通过一种更便捷的方法来实现。(只剩下数字部分的实现方法)

例如,有写好的数据,如图所示:

同样的操作步骤,把原来的数据复制到word文档中去。

按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签。这里不需要使用通配符功能。

在查找的内容的位置输入:^$,替换位置:是空值,不输入任何数据。点击”全部替换“按钮。

只剩下数字部分的实现方法。

用python解一道通配符匹配的算法题

假设输入的字符串为s,匹配串为p,代码如下

class Solution(object):

    def isMatch(self, s, p):

        """

        :type s: str

        :type p: str

        :rtype: bool

        """

        sIndex, pIndex = 0, 0

        sLen = len(s)

        pLen = len(p)

        sPrevIndex, pPrevIndex = 1, pLen

        while sIndex < sLen:

            #当两个串对应位置字母可以等价时,各自索引均向后

            if pIndex < pLen and (s[sIndex] == p[pIndex] or p[pIndex] == '?'):

                sIndex += 1

                pIndex += 1

            #当模式串为*时,先以匹配0个的方式暂时匹配

            elif pIndex < pLen and p[pIndex] == '*':

                sPrevIndex = sIndex + 1

                pPrevIndex = pIndex

                pIndex += 1

            #当暂时匹配失败时,以匹配多1个的方式继续匹配

            elif pPrevIndex < pLen:

                sIndex, pIndex = sPrevIndex, pPrevIndex

            #匹配失败

            else:

                return False

        #看模式串剩下的字母是否均为*

        for i in range(pIndex, pLen):

            if p[i] != '*':

                return False

        return True

  • 本文相关:
  • python实现替换文件中指定内容的方法
  • python 实用技巧之正则表达式查找和替换文本的操作方法
  • python读取word文本操作详解
  • 在python中使用html模版的教程
  • python重新加载模块的实现方法
  • python简单进程锁代码实例
  • python对指定目录下文件进行批量重命名的方法
  • python 解决flask uwsgi 获取不到全局变量的问题
  • 使用python的web.py框架实现类似django的orm查询的教程
  • django学习笔记之orm基础教程
  • python循环结构的应用场景详解
  • python实现的简单窗口倒计时界面实例
  • python使用qq邮箱发送email的方法实例
  • python 通配符匹配如何进行?
  • Python中的%通配符有什么使用规则
  • 关于python sql调用中通配符的使用问题?
  • python怎么提取excle表格数据
  • 用python解一道通配符匹配的算法题
  • PYTHON 路径通配符问题?
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved