Проверка наличия символа в строке

#if-statement #pascal

#оператор if #паскаль

Вопрос:

Мне нужно проверить строку, в данном случае называемую «word», чтобы увидеть, содержит ли она букву (или символ, если вы предпочитаете). На самом деле мне не нужно знать местоположение буквы, просто если она присутствует. В настоящее время у меня есть это:

 if character in word then //both "word" and "character" are string variables.
begin
{some code}
end;
  

Проблема в том, что я просто отключаю функцию python:

 if character in word: //In python I would use an array for "word" 
    //some code
  

И это, похоже, не работает в pascal.

Это может показаться глупым вопросом, но я очень новичок в pascal и, действительно, прошу помощи в stack exchange. Любая помощь относительно того, как проверять наличие символов в строках, была бы весьма признательна.

Комментарии:

1. Как насчет strpos или strscan ?

2. Они Майкла предназначены для pchar, а не для строк, и использовались во времена Turbo Pascal. В настоящее время они редко используются, поскольку обычные (объектные) строки pascal могут быть преобразованы в pchars для внешнего взаимодействия

Ответ №1:

   if pos(character,word)>0 then
     ... some code
  

pos перегружен как для символов, так и для строк (для совпадений подстрок).

Обратите внимание, что поиск выполняется с учетом регистра. Прописные () как символ, так и слово, если вы хотите иначе.