1. ホーム
  2. string

[解決済み] OCAML - 文字列と部分文字列

2022-02-12 17:53:24

質問

ある文字列が他の文字列の部分文字列であるかどうかをチェックする関数を書くのを手伝ってくれる人はいますか?

(2つ以上の文字列が存在することもあります)

ありがとうございます。

解決方法は?

String モジュールを使用します。

let contains s1 s2 =
  try
    let len = String.length s2 in
    for i = 0 to String.length s1 - len do
      if String.sub s1 i len = s2 then raise Exit
    done;
    false
  with Exit -> true

Str モジュールで、@barti_ddu が言ったようにチェックします。 このトピック :

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