繁体   English   中英

提取两个字符之间的子字符串-python DataFrame

[英]Extract substring between two characters - python DataFrame

字符串定位符', \\s*([^\\.]*)\\s*\\.'是什么意思', \\s*([^\\.]*)\\s*\\.' =?

我有一个数据框与从Pandas DataFrame的一列中的2个特殊字符之间提取子字符串相同

并希望提取位于",""."之间的子字符串"." 多亏了帖子的回答,一种方法如下:

In [157]: df['Title'] = df.Name.str.extract(r',\s*([^\.]*)\s*\.', expand=False)

In [158]: df
Out[158]:
                   Name   Title
0        Jim, Mr. Jones      Mr
1     Sara, Miss. Baker    Miss
2     Leila, Mrs. Jacob     Mrs
3  Ramu, Master. Kuttan  Master

尽管我看到结果是正确的,但是',\\s*([^\\.]*)\\s*\\.'是什么意思',\\s*([^\\.]*)\\s*\\.' 特别是“ *”和“ \\”的含义是什么?

这意味着以下匹配项:

  • 一个, (逗号)
  • 后跟\\s*零个或多个空格字符(制表符,空格等)
  • 后跟([^\\.])*零个或多个不是.字符. (点)
  • 后跟\\s*零个或多个空格字符
  • 跟一个\\. (点)

您可以在此处找到有关正则表达式的更多信息。

UPDATE

正如@UnbearableLightness提到的,字符\\在字符集内多余,以逃避. (点)。 字符集是[]之间定义的任何字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM