Он может работать с параметром bind также следующим образом:
$name = "%$name%";
$query = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` like :name");
$query->bindParam(':name', $name);
$query->execute();
strip()
удаляет все ведущие и завершающие символы из входной строки, которые соответствуют одному из символов в строке параметров:
>>> "abcdefabcdefabc".strip("cba")
'defabcdef'
Вы хотите использовать регулярное выражение: table_name = re.sub(r"\.csv$", "", name)
или os.path
s:
>>> table_name, extension = os.path.splitext("movies.csv")
>>> table_name
'movies'
>>> extension
'.csv'
Возможно, немного поздно, но для тех, кто читает это в будущем, есть ленивый способ, который тоже работает отлично:
table_name = name.rstrip("csv").rstrip(".")
Как сказано в других решениях, метод strip()
удаляет все ведущие / завершающие символы, соответствующие тем, что находятся в круглых скобках. Поэтому идея в этом подходе заключается в следующем:
csv
- поскольку существует .
, мы знаем, что rstrip()
прекратит поиск там. Это оставит нас с строкой movies.
. .
из строки movies.
- rstrip()
будет искать только конечные точки. Почему rstrip()
: Поскольку мы знаем, что текст, который нужно удалить, находится в конце строки, мы можем указать rstrip
для лучшего управления (т. е. избежать непреднамеренного удаления любых возможных ведущих символов c, s или v)
Я не знаю, что вам нужно, но если он извлекает имя файла без расширения, у вас есть функция os.path.splitext
:
>>> import os
>>> name, extension = os.path.splitext("movies.csv")
>>> name
'movies'