4

文字列内の部分文字列を検索し、文字列内にある場合はそれを返す必要があります。Erlangでそれを行う最良の方法は何ですか? より大きな文字列で部分文字列が発生する場所がわからないので、それを検索する必要があることに注意してください。

4

2 に答える 2

8

正規表現を使用できます。

> re:run("foobarbaz", "bar", [{capture, first, list}]).
{match,["bar"]}

詳細については、re:run/3 のドキュメントを参照してください。capture特に、別のオプションがニーズに合っていることに気付くかもしれません。

または、正規表現のすべての機能が必要ない場合は、string:str/2で十分かもしれません:

> string:str(" Hello Hello World World ", "Hello World").
8
于 2012-11-21T12:23:42.953 に答える
3

この小さな機能が役立つ場合があります。大きな文字列の中に小さな文字列が見つかった場合は true を返し、そうでない場合は false を返します。

string_contains(Big, Small)->
    string:str(Big, Small) > 0.
于 2012-11-22T07:14:20.007 に答える