Erlang中文手册(Erldoc.com)  »  string  »  rstr/2
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

string:rstr/2

返回字符在字符串里最后一次出现的位置

用法:

rstr(String, SubString) -> Index

内部实现:

-spec rstr(String, SubString) -> Index when
      String :: string(),
      SubString :: string(),
      Index :: non_neg_integer().

rstr(S, Sub) when is_list(Sub) -> rstr(S, Sub, 1, 0).

rstr([C|S], [C|Sub], I, L) ->
    case prefix(Sub, S) of
	true -> rstr(S, [C|Sub], I+1, I);
	false -> rstr(S, [C|Sub], I+1, L)
    end;
rstr([_|S], Sub, I, L) -> rstr(S, Sub, I+1, L);
rstr([], _Sub, _I, L) -> L.

prefix([C|Pre], [C|String]) -> prefix(Pre, String);
prefix([], String) when is_list(String) -> true;
prefix(Pre, String) when is_list(Pre), is_list(String) -> false.

返回字符 SubString 在字符串 String 最后一次出现的位置。

string:rstr("abcbdefg", "b").

如果不存在,则返回 0。

string:rstr("abcdefg", "h").
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9