Я пытаюсь найти строку внутри строки с Perl. Например:Найти только точную строку
str = "Hi sir, No data was received"
strtofind = "No data was received"
Я использую:
if(index($str,$strtofind) != -1)
Но если сценарий получит другой вход, как: "Hi sir, No data sent"
он соответствует тоже (No data
).
Как установить ИСТИННЫЙ, если только он соответствует всем strtofind
?
Я не могу воспроизвести это. Не могли бы вы предоставить [MCVE] (http://stackoverflow.com/help/mcve)? – Biffen
Любой шанс, что вы вводите в заблуждение логику '! ='? Выражение, которое вы используете, истинно, если строка найдена. Это помогло бы, если бы показало нам * полную * программу, урезанную до нескольких строк и все еще проявляющую проблему. – Jens
Привет и спасибо, логика: 'ул = "Привет, сэр, никаких данных не было получено" strtofind = "Нет данных получено не было" #It матч если (индекс ($ ул, $ strtofind) = -! 1) { \t $ flagger = 1; } если ($ 0 == Наблюдатель YouTube) { ... код здесь ... } ул нет = "Привет, сэр, никаких данных был послан" strtofind = "Нет данных получено не было" матч #It тоже if (index ($ str, $ strtofind)! = -1) { \t $ flagger = 1; } ' – proquibas