В приведенном ниже примере я хочу вернуть True только для последней строки в Серии. Это означает, что я должен добавить условное экранирование любых символов плюс, чтобы они действительно были найдены, и он не берет на себя свою специальную функцию регулярного выражения.
import pandas as pd
testseries=pd.Series(["product a basic","product a","product a+","product b basic","product b","product b+"])
#this string will be unknown in practice
searchstring="b+"
# Necessary cleaning conditional
if "+" in searchstring:
searchstring = searchstring.replace("+","\\+")
#Search is actually performed
print(searchstring)
testseries.str.contains(searchstring)
На практике я не буду знать, что такое строка поиска собирается быть. Существует ли функция или другой подход для обеспечения правильного экранирования любых символов, которые необходимо экранировать?
Я не хочу продолжать создавать постоянно растущую цепочку условных выражений, которые очищают строку поиска, или это неизбежно?