簡體   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