gpt4 book ai didi

python - 根据空格查找字符串中的字符

转载 作者:行者123 更新时间:2023-11-28 20:38:04 26 4
gpt4 key购买 nike

因此,我试图让一个函数正常工作,该函数将返回一个新的单个字符列表,这些字符紧跟在另外两个给定字符之后。像这样:

def filter_possible_chars(corpus, last):
"""
>>> filter_possible_chars('lazy languid line', 'la')
['z', 'n']
>>> filter_possible_chars('pitter patter', 'tt')
['e', 'e']
"""
char_list = []
corpus_split = corpus.split()
for word in corpus_split:
if last in word:
word_split = word.split(last)
follows_last = word_split[1]
char_list.append(follows_last[0])
return char_list

此函数非常适合文档字符串中给出的示例,但是我需要包含包含空格的示例,例如:

>>> filter_possible_chars('when the goat jumped to the rock', ' t')

它会返回:

['h', 'o', 'h']

但是由于我的函数显然是在删除空格,所以我想我需要在这里尝试一种完全不同的方法。我考虑过不将字符串拆分为单独的单词并尝试使用给定的字母对其进行索引,但我想不出一种方法来使字符串中的多个实例都可以使用。

最佳答案

>>> pat="tt"
>>> corpus="pitter patter"
>>> print(re.findall("%s(.)"%pat,corpus))
['e', 'e']
>>> corpus,pat = 'when the goat jumped to the rock', ' t'
>>> re.findall("%s(.)"%pat,corpus)
['h', 'o', 'h']
>>> corpus,pat = 'lazy languid line', 'la'
>>> re.findall("%s(.)"%pat,corpus)
['z', 'n']

说明

  • %string formatting运算符,例如 "%s(.)"% "la" 的计算结果为 "la(.)"

  • regular expressions , . 是“任何字符”的模式,() 定义 groups 其值可以稍后检索,例如使用 findall :

    If one or more groups are present in the pattern, return a list of groups

因此,例如,模式 la(.) 表示“搜索 la 后跟任何字符,并捕获该字符”。

关于python - 根据空格查找字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41686366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com