I have a column in a dataframe which have a pattern as shown in the below example
id=1;name=x;color=blue;
I am trying to extract the value for name and store it in the same dataframe with column name as "name" and value is "x"
I tried the below code but it doesn’t seem to work correctly
df['name'] = df['col'].str.extract("'name': '(.*?)'")
>Solution :
The 'name': '(.*?)' regex is meant to extract a string between 'name': ' and the next ' char. You do not have single quotes, nor : in your input.
You can use
df['name'] = df['col'].str.extract(r"name=([^;]*)")
See the regex demo, name=([^;]*) matches the name= as left-hand side context and extracts one or more chars other than a ; right after that into the name column.