#python #substring
Вопрос:
Есть ли эквивалент CHARINDEX/SUBSTRING
из SQL в Python?
Что я пытаюсь сделать, так это удалить символы до 3-го '
и после 4 '
-го, что означает, что у меня останется только числовое значение.
a = "[counter('check', Id('23345675'))]"
Ожидаемый Вывод Строки:
a = "23345675"
Ответ №1:
Если вам нужно все, что находится между 3-м и 4 '
-м, вы можете разделить строку '
и получить 3-ю часть:
a = "[counter('check', Id('23345675'))]"
a.split("'")[3] # "23345675"
Обратите внимание, что вы также можете разделить определенное количество раз, например, если вы хотите все после 3-го '
:
a.split("'", 3)[-1] # this gives: "23345675'))]"
Ответ №2:
Не очень знаком с SQL, но вы ищете что-то подобное?
>>> a.split("'")[3]
'23345675'
Ответ №3:
Похоже на работу по разбору регулярных выражений:
import re
test_string = "[counter('check', Id('23345675'))]"
pattern = re.compile(r"(?:.*?'){3}(.*?)'")
m = pattern.match(test_string )
print(m.group(1))
Шаблон, по сути, говорит, что найдите все, что заканчивается «3 раза, затем захватите часть до следующего».