首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在字符串中搜索同时出现的2个单词?(Python)

在Python中,可以使用正则表达式或字符串方法来搜索同时出现的两个单词。

方法1:使用正则表达式

代码语言:txt
复制
import re

def search_words(text, word1, word2):
    pattern = r"\b" + word1 + r"\b.*\b" + word2 + r"\b|\b" + word2 + r"\b.*\b" + word1 + r"\b"
    matches = re.findall(pattern, text)
    return matches

text = "This is a sample text where both word1 and word2 appear together. Another sentence with word2 and word1."
word1 = "word1"
word2 = "word2"
result = search_words(text, word1, word2)
print(result)

输出:

代码语言:txt
复制
['word1 and word2', 'word2 and word1']

方法2:使用字符串方法

代码语言:txt
复制
def search_words(text, word1, word2):
    words = text.split()
    matches = []
    for i in range(len(words)-1):
        if words[i] == word1 and words[i+1] == word2:
            matches.append(word1 + " " + word2)
        elif words[i] == word2 and words[i+1] == word1:
            matches.append(word2 + " " + word1)
    return matches

text = "This is a sample text where both word1 and word2 appear together. Another sentence with word2 and word1."
word1 = "word1"
word2 = "word2"
result = search_words(text, word1, word2)
print(result)

输出:

代码语言:txt
复制
['word1 word2', 'word2 word1']

这两种方法都可以在给定的字符串中搜索同时出现的两个单词,并返回匹配的结果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

tr命令统计英文单词出现频率妙用

tr命令我们很清楚,可以删除替换,删除字符串。...英文中我们要经常会经常统计英文中出现频率,如果用常规方法,用设定计算器一个个算比较费事,这个时候使用tr命令,将空格分割替换为换行符,再用tr命令删除掉有的单词后面的点号,逗号,感叹号。...先看看要替换this.txt文件 The Zen of Python, by Tim Peters Beautiful is better than ugly....上面的文本文件,如果要文中出现次数最多10个单词统计出来,可以使用下面的命令 [root@linux ~]# cat this.txt | tr ' ' '\n' | tr -d '[.,!]'...总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值,谢谢大家对ZaLou.Cn支持。如果你想了解更多相关内容请查看下面相关链接

1.1K21

利用python内置函数,快速统计单词文本中出现次数

') as file1:#打开文本文件 str1=file1.read().split(' ')#将文章按照空格划分开 print "原文本:\n %s"% str1 print "\n各单词出现次数...:\n %s" % collections.Counter(str1) print collections.Counter(str1)['was']#以字典形式存储,每个字符对应键值就是文本中出现次数...python collections模块包含除内置list,dict,tuple 以外其它容器数据类型。...初始化 counter支持三种形式初始化,调用counter构造函数时可以提供一个元素序列或者一个包含键和计数字典,还可以使用关键字参数将字符串名映射到计数。...print m['b']#字符b出现次数 下面选取一个英文文本,并对其中单词出现次数进行统计,返回某个单词出现次数 python一行代码能实现功能,就不要用两行、 链接: http

3.2K80

Python 程序:查找字符串单词和字符数

如何计算 python 字符串单词和字符? 在这个字符串 python 程序,我们需要计算一个字符串字符和单词数。...让我们检查一个例子“我爱我国家”在这个字符串,我们字数为 4,字符数为 17。 为了解决这个 python 问题,初始化两个变量:计算单词和计算字符。每当在字符串中发现空格时,字计数器就会递增。...此后,接受用户输入并将该输入保存到一个变量,按照我们对单词和字符说明初始化两个变量。...算法 步骤 1: 接受来自用户字符串,并使用 python 输入法将其保存到一个变量。 步骤 2: 初始化字数和字符数两个变量。...第三步:打开一个for loop直到字符串长度取字符串每个字符, 步骤 4: 每次循环迭代增加字符数。 步骤 5: 使用if条件检查字符是否为空格。如果是这样,递增字计数器。

21530

Python识别字符串自然语言(单词

生成一个随机字符串(无空格),能否鉴别出这个字符串是否有自然语言中单词。比如“ervmothersdclovecsasd”,这个字符串中就存在“mother”和“love”这两个单词。...于是我想到了对输入词进行划分。...这时就要用到了外部字典文件,我把常用单词导入到txt文件(不太清楚NTLK是否有类似的功能,寒假再研究一下,这里先把我想要做实现一下)如图,这样,对每个连续字符串能够进行自然语言划分。...这里用到是正向最大匹配算法。 字典文件(最好是一个牛津词典): ? 需要词典文件下载链接请给我留言。...Python note1 = input("Enter your input: ") wordlist = [] get_list = [] f = open('C:\\Users\\dell\\desktop

2.4K30

每日一问_01_Python统计文件每个单词出现次数

代码,统计一个文件每个单词出现次数。...考察点: 文件操作、字符串处理、字典操作、循环语句、统计算法 问题分析和解答 问题分析: 首先,我们需要读取文件内容。 接下来,我们将文件内容分割成单词。 然后,我们需要统计每个单词出现次数。...通过统计单词出现次数,可以分析文本关键词、词频分布等信息,有助于对文本数据进行更深入分析。...遍历单词列表,去除单词标点符号(如有需要可以将单词转换为小写),以确保统计准确性。 统计单词出现次数并更新 word_count 字典。...最后,遍历 word_count 字典并输出每个单词出现次数。 拓展分享: 这个例子展示了如何使用 Python 处理文本文件并统计单词出现次数。

35840

python字典统计元素出现次数简单应用

如果需要统计一段文本每个词语出现次数,需要怎么做呢? 这里就要用到字典类型了,字典构成“元素:出现次数”健值对,非常适合“统计元素次数”这样问题。...下面就用一道例题,简单学习一下: 列表 ls 存储了我国 39 所 985 高校所对应学校类型,请以这个列表为数据变量,完善 Python 代码,统计输出各类型数量。...喜大普奔~~~~~ 如果wordIs里接下来取到词不是“综合”,那就是重复以上步骤; 如果取到词还是“综合”,因为健值对'综合':'1'已经字典里了,所以d.get(word, 0) 结果,就不是...通过循环操作,两行代码就生成了一个字典,里面的健值对,就是词语及其出现次数。...,如果出现结果是以列形式,那会直观一些。

5.7K40

Python 常见几种字符串替换操作

基于Python3.7.3,主要方法有 替换子串:replace() 替换多个不同字符串:re.sub(),re.subn() 用正则表达式替换:re.sub(),re.subn() 根据位置来替换...默认会替换字符串所有符合条件字符串。...通过正则表达式来实现替换:re.sub, re.subn re — Regular expression operations 第一个参数输入正则表达式,第二个参数表示需要替换字符串,第三个参数表示需要处理字符串...,如果你对正则表达水熟悉化,可以考虑正则中加入 | 来同时匹配多个字符串。...通过正则表达式 \1 等来实现。 正则表达式\1 代表了原先正则表达式第一个小括号()里面匹配内容,\2 表示匹配第二个,依次类推,所以,实际可以灵活地使用匹配字符串

5.8K21

Python查找任意字符串出现一次字符(2016奇虎笔试题)

''' 程序功能: 编写函数,给定任意字符串,找出其中只出现一次字符, 如果有多个这样字符,就全部找出。'''...import sys def searchOne(s): # 创建空字典 d = dict() # 遍历字符串,并分别记录每个字符出现次数 for ch in s: # 这里重点演示字典...get()方法 # 如果这个字符出现过,加1 # 如果这个字符第一次出现,0+1 d[ch] = d.get(ch, 0) + 1 # 列表推导式,查找所有只出现一次字符...chs = [ch for ch, n in d.items() if n==1] # 返回最终结果,所有只出现一次字符 return chs if __name__ == '__main...__': # 获取命令行参数 s = sys.argv[1] print(searchOne(s)) 本程序需要在命令行提示符环境运行,假设代码保存为test3.py,运行方式和结果如下

6K80

一日一技:Python,定义字符串时候简单拼接操作

Python,如果两个字符串靠在一起,Python会自动把他们连接起来,例如: >>> a = "123""hello" >>> a '123hello' >>> a = "123" "word...就在与如果你需要在代码里面写一段很长字符串,那么你可以使用这个功能来进行换行: # 注意,这一段代码需要写在.py文件里面,不能直接在命令行交换环境运行 notify = '警告:外星人入侵地球,你必需立刻保存你所有工作...,代码保存' '完成之前,你不能离开工作位置。...你代码比你生命更值钱。' print(notify) 注意,这里由于notify定义字符串非常长,就可以你用这个特性把代码拼接起来,不需要写加号,也不需要反斜杠。

78610

vim 从嫌弃到依赖(18)——查找模式进阶

可以匹配时输入\c来不区分大小写而使用 \C区分大小写,这个符号可以出现在任何位置,哪怕你输入 /requ\Cire它也能正确找到所有的 require字符串。...使用括号获取子匹配项 vim 可以使用 来匹配重复单词,例如 I love python python is so good 这句话我们可以匹配到 python 这个单词...vim中使用括号代表子匹配项,它是整个正则表达式匹配一个子项,例如 Py(tho)n 它可以匹配到 PythonPython 字符串里面的 tho。...如果我们只是想匹配是否有多个重复 Python可以这样写: ()\_s+\1 界定匹配范围 搜索模式,vim把查找域中输入内容(可以是正则表达或者是原意匹配字符串)和它匹配高亮文本进行了区分...q=\\/ 假设我们要匹配所有文档中出现这个url,该如何做呢? 首先考虑匹配模式输入一大串内容,但是这一大串不需要手工输入。

1.2K20

这里有一个提速100倍方案(附代码)

清洗工作往往涉及到搜索和替换关键词。例如,查询文本是否出现““Python”这一关键词,或是将所有“python“都替换成”“Python”。...了解FlashText实现原理之前,让我们先来看看FlashText和正则表达式搜索任务性能对比图。...这份列表将用于在内部建立一个单词查找树字典(Trie dictionary)。然后你将一个字符串传递给它,并告诉它是要执行替换还是搜索。 对于替换,它将用替换关键字创建一个新字符串。...如果我们从语料库拿出每个单词,并且检查它是否出现在句子,这需要我们遍历字符串四次。 如果语料库里有n个词,它将需要n个循环。并且每个搜索步骤(is in sentence?)...关键字只有两边有单词边界时才能被匹配。这样可以防止apple和pineapple匹配。 接下来,我们将输入一个字符串I like Python,并且一个字符一个字符搜索他、它。

2.4K40
领券