2012-11-21 130 views
4

我需要在字符串中搜索一個子字符串並返回它,如果它在字符串中。 Erlang的最佳做法是什麼?請注意,我不知道子字符串在更大的字符串中發生的位置,所以我需要爲此進行搜索。在Erlang中從一個大字符串中提取一個子字符串

+0

所有你會在'string.erl'模塊中找到erlang'stdlib' –

回答

8

您可以使用正則表達式:

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

更多信息請參見the documentation for re:run/3。特別是您可能會發現不同的capture選項適合您的需要。

或者,如果你不需要正則表達式的所有功能,string:str/2可能就足夠了:

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

這個小功能可以幫助你。如果可以在大字符串中找到小字符串,則返回true,否則返回false。

string_contains(Big, Small)-> 
    string:str(Big, Small) > 0. 
相關問題