将以一个字符开头并以另一个字符结尾的文本提取到 python 中的新列中
Extracting the text starting with a character and ends with another into new column in python
我正在尝试从列中给定的 link 中提取 ID。
ID在“tt”之后开始,在“/”之前结束。正在尝试将其提取到新列中。
输入数据集:
Movie
Link
movie 1
http://www.imdb.com/title/tt0114709/?ref_=fn_tt_tt_1|
输出数据集:
Movie
Link
ID
movie 1
http://www.imdb.com/title/tt0114709/?ref_=fn_tt_tt_1
114709
如果要修改 link,请使用带 str.replace
的正则表达式:
df['Link'] = df['Link'].str.replace(r'(.*/title/tt)(\d+)(/.*)', r'/ ')
如果正如我所相信的那样,您的示例不正确并且您实际上想要创建一个新列,其编号为:
df['ID'] = df['Link'].str.extract(r'(?:.*/title/tt)(?P<ID>\d+)(?:/.*)')
输出:
Movie Link ID
0 movie 1 http://www.imdb.com/title/tt0114709/?ref_=fn_tt_tt_1| 0114709
我正在尝试从列中给定的 link 中提取 ID。
ID在“tt”之后开始,在“/”之前结束。正在尝试将其提取到新列中。
输入数据集:
Movie | Link |
---|---|
movie 1 | http://www.imdb.com/title/tt0114709/?ref_=fn_tt_tt_1| |
输出数据集:
Movie | Link | ID |
---|---|---|
movie 1 | http://www.imdb.com/title/tt0114709/?ref_=fn_tt_tt_1 | 114709 |
如果要修改 link,请使用带 str.replace
的正则表达式:
df['Link'] = df['Link'].str.replace(r'(.*/title/tt)(\d+)(/.*)', r'/ ')
如果正如我所相信的那样,您的示例不正确并且您实际上想要创建一个新列,其编号为:
df['ID'] = df['Link'].str.extract(r'(?:.*/title/tt)(?P<ID>\d+)(?:/.*)')
输出:
Movie Link ID
0 movie 1 http://www.imdb.com/title/tt0114709/?ref_=fn_tt_tt_1| 0114709