无法有效删除“v”之前的字符串或删除字符串v和

2024-09-28 05:24:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在删除“v”之前的字符串或删除“v”之后的字符串

My data looks like:
Potato onions v carrot pickles
Chocolate cake v orange cake
Chicken breasts v Vegan Quinoa
Vienna sauvsage v velovute vegetvable
Etc,,

我想要的输出是:

Potato onions 
Chocolate cake 
Chicken breasts 
Vienna sauvsage

它们的共同特点是有一个“v” 我试过类似的方法

data['result'] = data['result'].map(lambda x: x.lstrip('+-').rstrip('aAbBcC'))

这对于静态数据和删除字符串的特定部分似乎很有用,因为我的数据是动态的,并且不断更新和更改。我想让它看起来像: Vienna sauvsage v velovute vegetvableVienna sauvsage 下面的工作往往不负责任,并与后来修剪。你知道吗

df['result'] = df.result.str.extract('((?=).* v(=?))', expand=True).astype(int)

Tags: 字符串dfdatamyresultpotatocakechicken
2条回答

试试这个:

In [6]: df['result'] = df.result.str.split('\s+v\s+').str[0]

In [7]: df
Out[7]:
            result
0    Potato onions
1   Chocolate cake
2  Chicken breasts
3  Vienna sauvsage

假设两边的空格都是固定的,那么可以使用^{}

In[90]:
df['result'] = df['str'].str.split(' v ').str[0]
df

Out[90]: 
                                     str           result
0         Potato onions v carrot pickles    Potato onions
1           Chocolate cake v orange cake   Chocolate cake
2         Chicken breasts v Vegan Quinoa  Chicken breasts
3  Vienna sauvsage v velovute vegetvable  Vienna sauvsage

因此,这将分割' v '上的字符串并返回分割中的第一个条目

相关问题 更多 >

    热门问题