删除最后一个空格后的数据

2024-10-05 17:40:01 发布

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

我的字符串总是包含一个空格,有时是两个,也可能是三个。乙二醇

Run 8890
Test Run GoLive
Test Run Fall Over

我想删除最后一个空格后的所有数据。我原以为下面的方法行得通,但它抛出了一个错误:

result['t1'] = result['t1'].str.rsplit(' ')[-1]

有人能看出我做错了什么吗


Tags: 数据方法run字符串test错误resultover
3条回答

第一种解决方案:使用熊猫的^{}功能,您可以尝试以下方法

df['column'].str.extract(r'(.*)(?=\s+)')

解释:使用熊猫的str.extract函数,并使用正则表达式匹配所有内容,直到单个捕获组中的最后一个空格



第二种解决方案:具有以下^{}功能:

df['column'].str.replace(r'\s+\S+$','')

解释:使用str.replace使用正则表达式替换所有内容,从最后一个空格到非空格值,直到结尾为NULL

输出如下:

0              Run
1         Test Run
2    Test Run Fall

使用:

result['t1']=result['t1'].str.rsplit(' ').str[:-1].apply(' '.join)

result的输出:

    t1
0   Run
1   Test Run
2   Test Run Fall

如果要删除最后一个空格后的所有数据,而不是保留最后一个空格后的数据,可以使用:

result['t1'] = result['t1'].str.rsplit(' ').str[:-1].str.join(' ')

结果:

              t1
0            Run
1       Test Run
2  Test Run Fall

相关问题 更多 >