迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 查找字符串中的所有出现

作者:迹忆客 最近更新:2023/03/24 浏览次数:

Python 中的子字符串是出现在另一个字符串中的一组字符。处理子串通常很麻烦。一个这样的问题是在特定字符串中查找所有出现的子字符串。

本篇文章将讨论在 Python 中查找字符串中所有出现的子字符串的不同方法。


在 Python 中使用 string.count() 函数查找字符串中子字符串的所有出现次数

string.count() 是 Python 中的一个内置函数,它返回给定特定字符串中子字符串出现的数量或出现次数。此外,它还具有附加参数 startend 来指定开始和结束位置的索引。

count() 方法遍历字符串并返回特定子字符串在字符串中出现的次数。

以下代码使用 string.count() 函数查找字符串中所有出现的子字符串。

#defining string and substring
str1 = "This dress looks good; you have good taste in clothes."
substr = "good"

#occurrence of word 'good' in whole string
count1 = str1.count(substr)
print(count1)

#occurrence of word 'good' from index 0 to 25
count2 = str1.count(substr,0,25)
print(count2)

输出:

2
1

这是一种简单的方法,适用于任何情况。此方法的唯一缺点是它不返回子字符串在字符串中出现的不同索引。


在 Python 中使用列表推导和 startswith() 查找字符串中子字符串的所有出现次数

这个方法需要两件事:列表推导和 startswith() 方法。

startswith() 函数执行获取子字符串开始索引的任务,并利用列表推导来遍历完整的目标字符串。

以下代码使用列表推导和 startswith() 来查找字符串中所有出现的子字符串。

# defining string 
str1 = "This dress looks good; you have good taste in clothes."
  
# defining substring
substr = "good"
  
# printing original string 
print("The original string is : " + str1)
  
# printing substring 
print("The substring to find : " + substr)
  
# using list comprehension + startswith()
# All occurrences of substring in string 
res = [i for i in range(len(str1)) if str1.startswith(substr, i)]
  
# printing result 
print("The start indices of the substrings are : " + str(res))

输出:

The original string is : This dress looks good; you have good taste in clothes.
The substring to find : good
The start indices of the substrings are : [17, 34]

在 Python 中使用 re.finditer() 查找字符串中子字符串的所有出现

re.finditer() 是 Python 提供给程序员在他们的代码中使用的正则表达式库的一个函数。它有助于执行查找字符串中特定模式出现的任务。要使用此功能,我们需要先导入正则表达式库 re

re.finditer() 在其语法中使用了 patternstring 参数。在这种情况下,模式指的是子字符串。

以下代码使用 re.finditer() 函数查找字符串中所有出现的子字符串。

import re 
 
# defining string  
str1 = "This dress looks good; you have good taste in clothes."
 
#defining substring 
substr = "good"
 
print("The original string is: " + str1) 
 
print("The substring to find: " + substr) 
 
result = [_.start() for _ in re.finditer(substr, str1)] 
 
print("The start indices of the substrings are : " + str(result))

输出:

The original string is: This dress looks good; you have good taste in clothes.
The substring to find: good
The start indices of the substrings are : [17, 34]

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便