dask.dataframe.Series.str.findall
dask.dataframe.Series.str.findall¶
- dataframe.Series.str.findall(pat, flags: int = 0)¶
在 Series/Index 中查找所有模式或正则表达式的出现。
此文档字符串是从 pandas.core.strings.accessor.StringMethods.findall 复制的。
Dask 版本可能存在一些不一致性。
等同于对 Series/Index 中的所有元素应用
re.findall()
。- 参数
- patstr
模式或正则表达式。
- 标志int, 默认值为 0
来自
re
模块的标志,例如 `re.IGNORECASE`(默认值为 0,表示没有标志)。
- 返回
- 字符串列表的系列/索引
在此系列/索引的每个字符串中,模式或正则表达式的所有非重叠匹配项。
参见
count
计算Series/Index中每个字符串中模式或正则表达式的出现次数。
extractall
对于Series中的每个字符串,提取所有匹配的正则表达式组,并返回一个DataFrame,其中每行对应一个匹配项,每列对应一个组。
re.findall
在字符串中,所有不重叠的模式或正则表达式的匹配项,作为字符串列表返回的等效
re
函数。
示例
>>> s = pd.Series(['Lion', 'Monkey', 'Rabbit'])
搜索模式 ‘Monkey’ 返回一个匹配:
>>> s.str.findall('Monkey') 0 [] 1 [Monkey] 2 [] dtype: object
另一方面,搜索模式 ‘MONKEY’ 没有返回任何匹配项:
>>> s.str.findall('MONKEY') 0 [] 1 [] 2 [] dtype: object
可以在模式或正则表达式中添加标志。例如,要查找忽略大小写的模式 ‘MONKEY’:
>>> import re >>> s.str.findall('MONKEY', flags=re.IGNORECASE) 0 [] 1 [Monkey] 2 [] dtype: object
当模式匹配到序列中的多个字符串时,所有匹配项都会被返回:
>>> s.str.findall('on') 0 [on] 1 [on] 2 [] dtype: object
也支持正则表达式。例如,下一个示例展示了搜索所有以单词 ‘on’ 结尾的字符串:
>>> s.str.findall('on$') 0 [on] 1 [] 2 [] dtype: object
如果在同一个字符串中找到多个模式,则返回多个字符串的列表:
>>> s.str.findall('b') 0 [] 1 [] 2 [b, b] dtype: object