首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查找字符串中某个字符的所有匹配项

查找字符串中某个字符的所有匹配项
EN

Stack Overflow用户
提问于 2012-10-22 18:39:21
回答 7查看 72K关注 0票数 35

我正在尝试查找字符串中"|“的所有匹配项。

代码语言:javascript
复制
def findSectionOffsets(text):
    startingPos = 0
    endPos = len(text)

    for position in text.find("|",startingPos, endPos):
        print position
        endPos = position

但我得到一个错误:

代码语言:javascript
复制
    for position in text.find("|",startingPos, endPos):
TypeError: 'int' object is not iterable
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-10-22 18:50:29

函数:

代码语言:javascript
复制
def findOccurrences(s, ch):
    return [i for i, letter in enumerate(s) if letter == ch]


findOccurrences(yourString, '|')

将返回发生|yourString的索引列表。

票数 59
EN

Stack Overflow用户

发布于 2012-10-22 18:45:01

如果您想要索引字符串中所有出现的|字符,您可以这样做

代码语言:javascript
复制
import re
str = "aaaaaa|bbbbbb|ccccc|dddd"
indexes = [x.start() for x in re.finditer('\|', str)]
print(indexes) # <-- [6, 13, 19]

你也可以这样做

代码语言:javascript
复制
indexes = [x for x, v in enumerate(str) if v == '|']
print(indexes) # <-- [6, 13, 19]
票数 13
EN

Stack Overflow用户

发布于 2012-10-22 18:56:40

在这里使用正则表达式更容易;

代码语言:javascript
复制
import re

def findSectionOffsets(text):
    for m in re.finditer('\|', text):
        print m.start(0)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13009675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档