Используйте регулярное выражение для поиска элемента строки в другой строке - PullRequest
0 голосов
/ 07 февраля 2019

Я ищу лучший способ проверить, присутствуют ли элементы строк в другой строке. У меня есть два случая:

string1 = "BMW Serie 3 Touring 318d 143ch Business"
string2 = "bmw serie 3"

Я бы хотел сделать: если элементы в строке2 находятся в строке1, таксделать что-то

, но в другом случае

string1 = "DS 7 crossback"
string2 = "ds7"

что я использую в первом случае, я не могу использовать для этого случая

Я думаю, что регулярное выражение - лучший способ, но я не знаю, использовать сопоставление в операторе if (Python) (конечно, я уже использовал lower () для упрощения сопоставления)

Большое спасибо за вашу помощь

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

вы хотите добавить допуск к поиску подстроки, убрав пробелы и переведя в нижний регистр:

>>> string1 = "DS 7 crossback"
>>> string2 = "ds7"
>>> string2 in string1.lower().replace(" ","")
True
0 голосов
/ 07 февраля 2019

Вам не нужно использовать регулярные выражения, вы можете использовать функцию, которая является частью strings объектов на python, вы можете использовать count, которые дают вам количество вхождений или просто использовать inкоторый даст вам boolean.

опция 1:

string1 = "BMW Serie 3 Touring 318d 143ch Business"
string2 = "bmw serie 3"
if string1.count(string2) > 0:
    print("contain")
else:
    string1 = "DS 7 crossback"
    string2 = "ds7"

опция 2:

string1 = "BMW Serie 3 Touring 318d 143ch Business"
string2 = "bmw serie 3"
if string2 in string1
    print("contain")
else:
    string1 = "DS 7 crossback"
    string2 = "ds7"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...