导航:首页 > 编程语言 > python敏感词替换程序

python敏感词替换程序

发布时间:2023-08-28 10:40:55

python如果含有两个相同字母,如何将其中一个替换成其他字符

采取的算法是:将第一和除其之外的每个字母对比,相同即记下替换后的word,依次下推(第二和第三、第四。。。),逐个修改映射list

#coding:utf8

if__name__=='__main__':
words=['school','google','getfileinfo','cherrypy','pypy']
printwords
tmps=words #映射list,存放替换大小写后的list
index=0 #list遍历到第几个了
forwdsinwords: #遍历words
i=0 #记录list下的每个word长度
j=0 #记录每个word有几个相同的字母数
#下面采取的算法是:将第一和除其之外的每个字母对比,相同即记下替换后的word,依次下推(第二和第三、第四。。。),逐个修改映射list:tmps
forwd_ainwds[i:]:
forwd_binwds[i+1:]:
ifwd_a==wd_b:
#printwds,wd_a.upper()
j+=1
ifj>1: #相同字母超过一个的,需要沿用之前修改好的word,否则最后记录的将是最后一个相同字母转大写的word
tmp=tmp.replace(wd_a,wd_a.upper(),1)
else:
tmp=wds.replace(wd_a,wd_a.upper(),1)
#printtmp
tmps[index]=tmp #修改映射list:tmps

i+=1
index+=1
printtmps

运行结果:

['school', 'google', 'getfileinfo', 'cherrypy', 'pypy']

['schOol', 'GOogle', 'gEtFIleinfo', 'cheRrYpy', 'PYpy']


算法二:

#coding:utf8

if__name__=='__main__':
words=['school','google','getfileinfo','cherrypy','pypy']
printwords
tmps=words #映射list,存放替换大小写后的list
#算法二
#下面采取的算法是:先将单词序列化,然后排序,接着采取两两相比较,减少比较次数,同时遇到相同字母的就跳到下一组对比
index=0
forwordinwords:
letters=[]
forwdinword:
letters.append(wd)
letters.sort()
#printletters
j=0
flag=False
foriinrange(len(letters)-1):
ifflag:
flag=False #重置跳过标记
continue #第一和第二位字母相同,那就没必要再比较第二和第三位字母了,直接跳过比较第三和第四位字母
#printletters[i],letters[i+1]
ifletters[i]==letters[i+1]:
j+=1
ifj>1:
tmp=tmp.replace(letters[i],letters[i].upper(),1)
else:
tmp=word.replace(letters[i],letters[i].upper(),1)
#printtmp
tmps[index]=tmp
flag=True #jumpflag
index+=1
printtmps


测试了下运行时间,words在145个时,运行时间对比:

Time2: 0.0160000324249

Time2: 0.0150001049042

Time2: 0.0149998664856


Time1: 0.0160000324249

Time1: 0.0159997940063

Time1: 0.0150001049042

可见算法二的最少运行时间比算法一少,要快

② 关于Python,怎样才能把字符串中某一个重复的字符都替换

#-*-coding:utf-8-*-
numbers='0123456789'
a="r1.5ml.in.9it"
file=[]
foriina:
file.append(i)
printfile

foridx,iinenumerate(file):
#先前是因为第二次index('.')的时候,获取的还是第一个点
ifi=='.'andi!=file[-1]andfile[idx+1]innumbers:
file[idx]='*'
else:
i=i
print(file)

如果解决了您的问题请采纳!
如果未解决请继续追问

③ python 查找字符串并将其替换

f1=open('J:/wenjian/1/1.txt','r')
for line in f1
你这里是不是少了点什么,f1只是文件句柄,需要执行读操作才能遍历,
调用readlines()

确实有更好的代码,那就是使用re.sub,它同时包含了查找和替换两步的操作,
而不是像你写的那样的字符串比较性能那么低

④ python特殊符号的更改,替换

def secname(name):

    SecName = name.replace('/', '')

    SecName = SecName.replace('*', '')

    SecName = SecName.replace('<', '(')

    SecName = SecName.replace('>', ')')

    SecName = SecName.replace('"', '')

    SecName = SecName.replace(':', '-')

    SecName = SecName.replace('\\', '')

    SecName = SecName.replace('|', '')

    SecName = SecName.replace('?', '')

    return SecName

⑤ Python如何替换list中的字符

利用re库进行正则表达替换,python3.4中

importre

a=["123","456","789"]
d={"B":"2","E":"5","H":"8"}
b=",".join(a)
print(b)

foriind.keys():
b=re.sub(d[i],i,b)
print(b.split(","))

⑥ Python3 - 字符串中的变量替换

创建一个内嵌变量的字符串,指定字符串替换掉变量。

Python并没有对在字符串中简单替换变量值提供直接的支持。 通过使用字符串的 format() 方法来解决这个问题。比如:

或者,如果被替换的变量能在变量域中找到, 那么可以结合使用 format_map() vars() 。就像下面这样:

format() format_map() 的一个缺陷就是它们并不能很好的处理变量缺失的情况,比如:

在python3中,有一种可读性更强,更方便的替代方法,在字符串前加 f ,需要被替代的变量外加花括号 {} ,其命名与替代变量的名称相同

多年以来由于Python缺乏对变量替换的内置支持而导致了各种不同的解决方案。在Python3中,推荐使用在字符串前加 f 的方法。

⑦ python编写一个自动替换word文档文字程序

编者的话(可以跳过):

    在政府单位实习了一段时间,发现有很多资料需要制作,而且繁琐重复,第一时间就想到了python,因为在办公自动化这方面我只知道python,本着能偷懒就偷懒的原则,通过查阅资料整出一个小脚本然后用tkinter的ui组件写了一个界面方便除我之外的人使用,此软件涉及内部文件就不发布了。截图如下:

需求如下:
    当你有一大堆的word文档,然后这些word文档都有其固定格式,也许是一个表格,也许就是只有文字的普通文档,这些固定模式的文档我称之为模板。如果有10份模板,这些模板的填写内容大致相同,比如说文件的编号,年份,一些公司名称等。然后基本上就是机械的找位子复制改改格式循环往复然后时间就过去了,做了一堆无意义的事情。
    所以核心功能:需要把自己想要填写的内容填写到模板的指定位置。

2、实现方式

2.1使用python-docx
    有兴趣的可以深入学习一下python-docx,这里仅仅是实现需求。python-docx只能处理docx所以doc需要转为docx具体方法可以自行网络。

    这个替换程序是可以替换word文档内表格和非表格的内容且不会修改原模板的任何格式,填写好上面所给函数的参数然后在ide里运行一下,前提是事先在文档中要填写的位置写好要替换的内容,也就是old_text,如下所示:

⑧ 如何用Python来进行查询和替换一个文本字符串

1、说明
可以使用find或者index来查询字符串,可以使用replace函数来替换字符串。
2、示例
1)查询
>>> 'abcdefg'.find('cde')
结果为2
'abcdefg'.find('acde')
结果为-1
'abcdefg'.index('cde')
结果为2
2)替换
'abcdefg'.replace('abc','cde')
结果为'cdedefg'
3、函数说明
1)find(...)
S.find(sub[, start[, end]]) -> int
返回S中找到substring sub的最低索引,使得sub包含在S [start:end]中。 可选的 参数start和end解释为切片表示法。
失败时返回-1。
2)index(...)
S.index(sub[, start[, end]]) -> int
与find函数类似,但是当未找到子字符串时引发ValueError。
3)replace(...)
S.replace(old, new[, count]) -> str
返回S的所有出现的子串的副本旧换新。 如果可选参数计数为给定,只有第一个计数出现被替换。

阅读全文

与python敏感词替换程序相关的资料

热点内容
java正则网址 浏览:775
程序员上班可不可以自学 浏览:425
空调压缩机排空气视频 浏览:283
centos72nginxphp 浏览:184
游戏平台用什么服务器好 浏览:753
保密柜里的图片是加密文件吗 浏览:909
php判断最后一个字符 浏览:635
pdf脑区 浏览:635
at命令已弃用 浏览:490
买点卖出指标源码 浏览:612
36位单片机 浏览:428
英雄联盟山东服务器地址 浏览:212
sd服务器什么意思 浏览:617
thinkphp去indexphp 浏览:62
电脑显示连接未加密 浏览:193
zao服务器怎么修改 浏览:244
php使用jsapi调起支付 浏览:891
vivo云服务器网 浏览:722
cmd远程连接命令行 浏览:961
黑马python讲义 浏览:133