[英]Extract sub-string between 2 special characters from one column of Pandas DataFrame
[英]Extracting Sub-string Between Two Characters in String in Pandas Dataframe
我有一列包含由不同單詞組成但始終具有相似結構結構的字符串。 例如:
2cm off ORDER AGAIN (191 1141)
我想提取在第二個空格之后開始並在左括號/括號之前的空格結束的子字符串。 所以在這個例子中,我想再次提取 ORDER。
這可能嗎?
您可以嘗試以下方法:
r"2cm off ORDER AGAIN (191 1141)".split(r"(")[0].split(" ", maxsplit=2)[-1].strip()
#Out[3]: 'ORDER AGAIN'
你可以在這里使用str.extract
:
df["out"] = df["col"].str.extract(r'^\w+ \w+ (.*?)(?: \(|$)')
請注意,即使字符串末尾沒有(...)
項,此答案也是可靠的。
這是一個演示,顯示正則表達式邏輯正在運行。
如果數據模式與您發布的內容相似,那么我認為下面的代碼片段應該適合您:
import re
data = "2cm off ORDER AGAIN (191 1141)"
extr = re.match(r".*?\s.*?\s(.*)\s\(.*", data)
if extr:
print (extr.group(1))
你可以試試下面的代碼
s = '2cm off ORDER AGAIN (191 1141)'
second_space = s.find(' ', s.find(' ') + 1)
openparenthesis = s.find('(')
substring = s[second_space : openparenthesis]
print(substring) #ORDER AGAIN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.