String 从Erlang中的大字符串中提取子字符串

String 从Erlang中的大字符串中提取子字符串,string,erlang,String,Erlang,我需要在字符串中搜索一个子字符串,如果它在字符串中,则返回该子字符串。 在Erlang中实现这一点的最佳方法是什么?请注意,我不知道子字符串在较大字符串中的位置,因此我需要对其进行搜索。您可以使用正则表达式: > re:run("foobarbaz", "bar", [{capture, first, list}]). {match,["bar"]} 有关更多信息,请参阅。特别是,您可能会发现一个不同的捕获选项适合您的需要 或者,如果您不需要正则表达式的所有功能,可能就足够了: >

我需要在字符串中搜索一个子字符串,如果它在字符串中,则返回该子字符串。
在Erlang中实现这一点的最佳方法是什么?请注意,我不知道子字符串在较大字符串中的位置,因此我需要对其进行搜索。

您可以使用正则表达式:

> re:run("foobarbaz", "bar", [{capture, first, list}]).
{match,["bar"]}
有关更多信息,请参阅。特别是,您可能会发现一个不同的
捕获
选项适合您的需要

或者,如果您不需要正则表达式的所有功能,可能就足够了:

> string:str(" Hello Hello World World ", "Hello World").
8

这个小功能可能对您有所帮助。如果可以在大字符串中找到小字符串,则返回true,否则返回false

string_contains(Big, Small)->
    string:str(Big, Small) > 0.

您可以在erlang
stdlib的
string.erl
模块中找到所有内容