pandas.Series.str.findall#
- Series.str.findall(pat, flags=0)[源代码]#
查找 Series/Index 中模式或正则表达式的所有出现。
等同于将
re.findall()应用于 Series/Index 中的所有元素。- Parameters:
- patstr
模式或正则表达式。
- flagsint,默认为 0
来自
re模块的标志,例如 `re.IGNORECASE`(默认为 0,表示无标志)。
- Returns:
- 字符串列表的 Series/Index
此 Series/Index 中每个字符串对模式或正则表达式的所有非重叠匹配项。
参见
count计算 Series/Index 中每个字符串中模式或正则表达式的出现次数。
extractall对于 Series 中的每个字符串,从正则表达式的所有匹配项中提取组,并返回一个 DataFrame,其中每行对应一个匹配项,每列对应一个组。
re.findall等效的
re函数,用于查找字符串中所有非重叠的模式或正则表达式匹配项,返回一个字符串列表。
Examples
>>> 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
当模式匹配Series中的多个字符串时,将返回所有匹配项:
>>> 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