Используйте регулярное выражение:
import re
s = "name[id]"
re.find(r"\[(.*?)\]", s).group(1) # = 'id'
str.split()
принимает строку, на которую нужно разделить ввод. Например:
"i,split,on commas".split(',') # = ['i', 'split', 'on commas']
Модуль re
также позволяет вам разбивать по регулярным выражениям, что может быть очень полезным, и я думаю, что вы хотели это сделать.
import re
s = "name[id]"
# split by either a '[' or a ']'
re.split('\[|\]', s) # = ['name', 'id', '']