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").