Проверка подстроки в Окамле - PullRequest
13 голосов
/ 04 декабря 2011

Может ли кто-нибудь помочь мне в кодировании эффективной проверки подстроки в OCaml?Учитывая две строки, проверьте, содержит ли первая, вторая?

Используя модуль Str, мы можем сделать это?

Ответы [ 2 ]

11 голосов
/ 04 декабря 2011

Примерно так может работать:

let contains s1 s2 =
    let re = Str.regexp_string s2
    in
        try ignore (Str.search_forward re s1 0); true
        with Not_found -> false

Вот несколько тестов функции:

# contains "abcde" "bc";;
- : bool = true
# contains "abcde" "bd";;
- : bool = false
# contains "abcde" "b.";;
- : bool = false
# contains "ab.de" "b.";;
- : bool = true
1 голос
/ 29 мая 2015
let contains_substring search target =
    String.substr_index search target <> None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...