[英]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.