Если вы используете DataFrame, тогда используйте replace()
, который может использовать регулярное выражение для поиска текста, подобного "?.... "
(который начинается с ?
и заканчивается space
- или который начинается с ?
и имеет только другие символы, отличные от space
- '\?[^ ]+'
)
import pandas as pd
df = pd.DataFrame({'text': ["From https://....com?gclid=... to https://...com"]})
df['text'] = df['text'].str.replace('\?[^ ]+', '')
Результат
text
0 From https://....com to https://...com
Кстати: Вы также можете попробовать более сложное регулярное выражение, чтобы убедиться, что оно часть URL, которая начинается с http
.
df['text'] = df['text'].str.replace('(http[^?]+)\?[^ ]+', '\\1')
Я использую (...)
, чтобы перехватить этот URL-адрес до ?...
, и помещаю его обратно, используя \\1
(уже без ?...
)