Вы можете использовать фигурные скобки внутри строк и функцию format для построения регулярного выражения.
def regexStrip(string, char=' '):
#Removes the characters at the beginning of the string
striped_left = re.sub('^{}*'.format(char), '', string)
#Removes the characters at the end of the string
striped = re.sub('{}*$'.format(char), '', striped_left)
return striped
Метод strip в python позволяет использовать несколько символов, например, вы можете сделать 'hello world'.strip (' hold ') и он вернет' o wor '
Для этого вы можете сделать:
def regexStrip(string, chars=' '):
rgx_chars = '|'.join(chars)
#Removes the characters at the beginning of the string
striped_left = re.sub('^[{}]*'.format(rgx_chars), '', string)
#Removes the characters at the end of the string
striped = re.sub('[{}]*$'.format(rgx_chars), '', striped_left)
return striped
Если вы хотите использовать поиск вместо совпадений, вы можете сделать:
def regexStrip(string, chars=' '):
rgx_chars = '|'.join(chars)
striped_search = re.search('[^{0}].*[^{0}]'.format(rgx_chars), string)
if striped_search :
return striped_search.group()
else:
return ''