统计指定英文子串在所有单词中出现的次数(Python)

统计指定英文子串在所有单词中出现的次数(Python),第1张

参考代码

#!/usr/bin/env python

#  -- coding: utf-8 --

#python 27

import re

print u'请输入英语句子:'

wz = raw_input()

#整句转换为小写

s = wzlower()

#小写单词正则表达式

r='[a-z]+'

#找到所有单词

ws = refindall(r,s)

#定义一个字典来存储单词和次数

dt = {}

for w in ws:

dt[w] = dtsetdefault(w,0)+1

print u'输入查找的英语单词:'

#输入需要查找的单词,转换成小写

fw = raw_input()lower()

if(dt[fw]>3):

print u'该单词出现次数超过3次,现在整句转换为小写。输出:'

print s

else:

print u'该单词出现次数小于等于3次,整句删除该单词。输出'

#reI忽略大小写匹配

print recompile(fw,reI)sub("",wz)

运行测试

c:\pyws>python wenzhangpy

请输入英语句子:

I LOVE THE APPLE, THE big APPle, The red Apple

输入查找的英语单词:

the

该单词出现次数小于等于3次,整句删除该单词。输出

I LOVE  APPLE,  big APPle,  red Apple

c:\pyws>python wenzhangpy

请输入英语句子:

I LOVE THE APPLE, THE big APPle, The red Apple, The delicious Apple

输入查找的英语单词:

the

该单词出现次数超过3次,现在整句转换为小写。输出:

i love the apple, the big apple, the red apple, the delicious apple

sentence=raw_input()

word=raw_input()

words=sentencesplit()

if wordscount(word)>=3:

    print(sentencelower())

else:

    print(sentencereplace(word,""))

下面列出: 1测试正则表达式是否匹配字符串的全部或部分regex=ur"" #正则表达式

if research(regex, subject): do_something()else: do_anotherthing() 2测试正则表达式是否匹配整个字符串 regex=ur"/Z" #正则表达式末尾以/Z结束

if rematch(regex, subject): do_something()else: do_anotherthing() 3创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details about how the regex matches (part of) a string) regex=ur"" #正则表达式

match = research(regex, subject)if match: # match start: matchstart() # match end (exclusive): atchend() # matched text: matchgroup() do_something()else: do_anotherthing() 4获取正则表达式所匹配的子串(Get the part of a string matched by the regex) regex=ur"" #正则表达式

match = research(regex, subject)if match: result = matchgroup()else: result ="" 5 获取捕获组所匹配的子串(Get the part of a string matched by a capturing group) regex=ur"" #正则表达式

match = research(regex, subject)if match: result = matchgroup(1)else: result ="" 6 获取有名组所匹配的子串(Get the part of a string matched by a named group) regex=ur"" #正则表达式

match = research(regex, subject)if match:result = matchgroup"groupname")else:result = "" 7 将字符串中所有匹配的子串放入数组中(Get an array of all regex matches in a string) result = refindall(regex, subject) 8遍历所有匹配的子串(Iterate over all matches in a string) for match in refinditer(r"<()/s//1>", subject) # match start: matchstart() # match end (exclusive): atchend() # matched text: matchgroup() 9通过正则表达式字符串创建一个正则表达式对象(Create an object to use the same regex for many operations) reobj = recompile(regex) 10用法1的正则表达式对象版本(use regex object for if/else branch whether (part of) a string can be matched) reobj = recompile(regex)if reobjsearch(subject): do_something()else: do_anotherthing() 11用法2的正则表达式对象版本(use regex object for if/else branch whether a string can be matched entirely) reobj = recompile(r"/Z") #正则表达式末尾以/Z 结束

if reobjmatch(subject): do_something()else: do_anotherthing() 12创建一个正则表达式对象,然后通过该对象获得匹配细节(Create an object with details about how the regex object matches (part of) a string) reobj = recompile(regex) match = reobjsearch(subject)if match: # match start: matchstart() # match end (exclusive): atchend() # matched text: matchgroup() do_something()else: do_anotherthing() 13用正则表达式对象获取匹配子串(Use regex object to get the part of a string matched by the regex) reobj = recompile(regex) match = reobjsearch(subject)if match: result = matchgroup()else: result ="" 14用正则表达式对象获取捕获组所匹配的子串(Use regex object to get the part of a string matched by a capturing group) reobj = recompile(regex) match = reobjsearch(subject)if match: result = matchgroup(1)else: result ="" 15用正则表达式对象获取有名组所匹配的子串(Use regex object to get the part of a string matched by a named group) reobj = recompile(regex) match = reobjsearch(subject)if match: result = matchgroup("groupname")else: result ="" 16用正则表达式对象获取所有匹配子串并放入数组(Use regex object to get an array of all regex matches in a string) reobj = recompile(regex) result = reobjfindall(subject) 17通过正则表达式对象遍历所有匹配子串(Use regex object to iterate over all matches in a string) reobj = recompile(regex)for match in reobjfinditer(subject): # match start: matchstart() # match end (exclusive): matchend() # matched text: matchgroup()字符串替换 1替换所有匹配的子串 #用newstring替换subject中所有与正则表达式regex匹配的子串

result = resub(regex, newstring, subject) 2替换所有匹配的子串(使用正则表达式对象) reobj = recompile(regex) result = reobjsub(newstring, subject) 字符串拆分 1字符串拆分 result = resplit(regex, subject) 2字符串拆分(使用正则表示式对象) reobj = recompile(regex) result = reobjsplit(subject)

这里有一个逻辑错误 if not data:continue是错的。要改成if not data:break。如果不改会死循环。

如果要提取data的内容,通常是先要收集,再提取。

比如先建立一个列表datalist=[]

取到data后。 datalistappend(data)

取完数据后用正则

results=refindall("(isu)FF ([^\r\n]+)",""joint(datalist))

这样应该就可以了。

以上就是关于统计指定英文子串在所有单词中出现的次数(Python)全部的内容,包括:统计指定英文子串在所有单词中出现的次数(Python)、Python语言 解答、Python正则表达式的几种匹配用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9779816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存