Codo был точно прав 5 октября, что & amp; current [i] является предполагаемым текстом (с символом валюты, непреднамеренно введенным, когда источник был помещен в HTML (см. оригинал): http: // downloads. securityfocus.com/vulnerabilities/exploits/59846-1.c
Изменение Codo делает этот код эксплойта без ошибок. Я сделал это и смог использовать эксплойт на Ubuntu 12.04 для перерастания в root привилегия.
Я не думаю, что панды - лучший способ выполнить эту задачу, вы можете использовать токенизацию ntlk, чтобы отделить вашу строку от каждого слова в ней, а затем итерации через токенизированные слова, сохранить эти слова в отдельном массиве до тех пор, пока не встретится номер , и в этом случае вы можете использовать оператор break и перейти к следующей строке
Попробуйте следующее:
df['MyCol'].replace('[\,\s]+\d+.+', '')
Это довольно грубо, но попробуйте
df['MyCol'].str.split('[ |,][0-9]+')
Недостатком является то, что вам придется извлечь индекс 0 из возвращаемого списка, чтобы перезаписать исходный столбец. В качестве альтернативы установите параметр Expand = True и оставьте все последовательные столбцы, которые были сгенерированы.
df['MyCol'].str.split('[ |,][0-9]+', expand=True)
Выход:
0 [ABC, QUEEN]
1 [ABC, QUEEN]
2 [ABC PTE LTD YES123]
3 [ABC PTE LTD YES, ]