I have a dataframe with the string column as:
df['C23']
Col1 Col2
11 /*[lion]*/
21 /*[tiger]*/
I need the following:
Col1 Col2
11 lion
21 tiger
I tried the following code:
df['C23'].str.extract(r"/*(.*?)*/')
but it produces empty strings.
CodePudding user response:
You can use
df['result'] = df['C23'].str.extract(r"/\*\[(.*?)]\*/")
The /\*\[(.*?)]\*/
regex matches
/\*\[
-/*[
string(.*?)
- Group 1: any zero or more chars other than line break chars as few as possible]\*/
-]*/
string
CodePudding user response:
Assuming you want to convert /*[lion]*/
to lion
and all elements follow the same pattern, you do not need a regex, just slice:
df['Col2'] = df['Col2'].str[3:-3]