python - 查找单词在字符串中的位置

标签 python regex python-2.7 search

<分区>

我的任务

我正在尝试使用正则表达式查找单词在字符串中出现的位置

代码

import re

# A random string

mystr = "there not what is jake can do for you ask what you play do for spare jake".upper() 

match = re.search(r"[^a-zA-Z](jake)[^a-zA-Z]", mystr)

print match.start(1)

输出

18

预期输出

我希望我的输出包含字符串 jake 的位置:

5, 17

编辑: 为了澄清,我正在尝试确定单词的位置。我相信我所做的是找到索引,但不确定如何使其按预期工作

最佳答案

要获取输入字符串中搜索字符串 jake 的“序号”位置,请使用以下方法:

mystr = "there not what is jake can do for you ask what you play do for spare jake"
search_str = 'jake'

result = [i+1 for i,w in enumerate(mystr.split()) if w.lower() == search_str]
print(result)  

输出:

[5, 17]

  • enumerate(mystr.split()) - 获取枚举对象(成对的项目及其位置/索引)

  • w.lower() == search_str - 如果一个词等于搜索字符串

关于python - 查找单词在字符串中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44109198/

相关文章:

r - stringr 中的条件正则表达式

python - 使用 ThreadingMixin 停止由 BaseHTTPServer 生成的线程

python - 如何让 WSGI.py 提供静态 html 文件中的图像?

python - 如何通过 USB 线从 Raspberry Pi 向 Arduino 发送消息

正则表达式:逗号分隔的整数

python - Odoo - 自定义模块卸载时出现内部服务器错误

Python日志记录: logging config file with changing save location

python - 如何跟踪 Tkinter Spinbox 的函数

python - 来自变量的 Numpy 切片

Java 正则表达式在第一次匹配后返回