分隔左边第一个为空格,右边第一个为(的字符串

问题

分隔左边第一个为空格,右边第一个为(的字符串

错误信息

AttributeError: 'list' object has no attribute 'rsplit'

代码
import pandas as pd
df= pd.Series(['void select(abcdefg)'])   
df= df.str.split("(")[0].rsplit(" ")[-1]
df
运行结果及详细报错内容

AttributeError Traceback (most recent call last)
c:\Users\Localadmin\Desktop\Dev\test.ipynb Cell 1 in()
1 import pandas as pd
2 df= pd.Series(['void select(abcdefg)'])
----> 3 df= df.str.split("(")[0].rsplit(" ")[-1]
4 df

AttributeError: 'list' object has no attribute 'rsplit'

我想要达到的结果

void select(abcdefg)
分隔左边第一个为空格,右边第一个为(的字符串,也就是结果为:select


  望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!

```bash
这是我根据你的代码修改的结果

```bash
import pandas as pd
df= pd.Series(['void select(abcdefg)'])
df= df.str.rsplit(" ", 1)[1].split("(")[0]
print(df)

解读:

代码中,首先使用 str.rsplit() 方法对字符串进行反向拆分,得到的结果是 ['void select', 'abcdefg)'],然后取第一个元素,即 'void select'。接着使用 str.split() 方法对字符串进行拆分,得到的结果是 ['void select', 'abcdefg)'],最后取第一个元素,即 'void select'。

你的代码首先使用了 .str.split("(") 方法将字符串按照左括号进行分割,然后通过索引获取了分割后的第一个元素

['void select']

然后对这个列表使用了 .rsplit(" ") 方法,这就导致了你看到的错误信息:

AttributeError: 'list' object has no attribute 'rsplit'

这是因为,.rsplit() 方法是用于字符串的,而不是用于列表的。可以使用以下代码获取您想要的结果:

df = "void select(abcdefg)"
df = df.split("(")[0].rsplit(" ")[-1]
print(df)  # 输出:select