如何在另一列中创建以字符串值开头和结尾的列?

How to create a column that starts with and end with string value in another column?

如何在另一列中创建以“\”开始并以“]”结束的列?

例如

A                  new_column

\loc\ggg.x]ddj    \loc\ggg.x]
+\lol\lll.d]aaa   \lol\lll.d]

我试过这样做

df['new_column'] = df['A'].str.split(']').str[0]

但它包含不需要的文本,并且只想从 X (\) 开始并以 Y ("]") 结束。

尝试 .str.extract:

df["new_column"] = df["A"].str.extract(r"(\.*?\])")
print(df)

打印:

                                                                                       A                 new_column
0                                                                        \loc\ggg.x]ddj               \loc\ggg.x]
1                                                                       +\lol\lll.d]aaa               \lol\lll.d]
2  \ddf\gdd\Ps\s\s[a.xls]ss'!e+'\d\P\d[d.xls]Canjet'!B42+'\df\gds\+'\s\P[s.pdf]  \ddf\gdd\Ps\s\s[a.xls]

您可以在此处将 str.replace 与捕获组一起使用:

df["new_column"] = df["A"].str.replace(r'^.*?(\\.*\]).*$', r'')