erlang:字符串带多个字符

LR

我看到erlang有string:strip方法,您也可以在第三个参数上指定要去除的字符:

string:strip("...Hello.....", both, $.).

但是,如何定义多个要剥离的字符?所以例如如果我有的话,".;.;..Hello...;.."我想把它剥离到"Hello"

Hynek -Pichi-他走了出去

编写strip/3带有剥离字符支持列表的自己的版本并不像看起来那样困难:

strip(S, left, Ds) ->
    lstrip(S, Ds);
strip(S, right, Ds) ->
    rstrip(S, Ds);
strip(S, both, Ds) ->
    rstrip(lstrip(S, Ds), Ds).

lstrip([], _) -> [];
lstrip([H|T] = S, Ds) ->
    case lists:member(H, Ds) of
        true  -> lstrip(T, Ds);
        false -> S
    end.

rstrip([], _) -> [];
rstrip([H|T], Ds) ->
    case rstrip(T, Ds) of
        [] ->
            case lists:member(H, Ds) of
                true  -> [];
                false -> [H]
            end;
        S -> [H|S]
    end.

注意lists:member/2是BIF,此版本的编写方式可最大程度地减少堆的使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串分割成多个字符

来自分类Dev

Ruby gsub字符串中的多个字符

来自分类Dev

用多个字符替换字符串

来自分类Dev

用多个字符替换字符串

来自分类Dev

多个字符串格式

来自分类Dev

如何替换字符串中的多个字符?

来自分类Dev

在Java中用多个字符分割字符串

来自分类Dev

删除文件中的多个字符串/字符

来自分类Dev

遍历多个文件并计数多个字符串

来自分类Dev

如何删除字符串中的多个字符

来自分类Dev

Python字符串拆分为多个字符

来自分类Dev

在多个文件中搜索多个字符串

来自分类Dev

GREP用于带通配符的多个字符串

来自分类Dev

将字符串拆分为多个字符

来自分类Dev

用多个字符替换字符串

来自分类Dev

多个字符的字符串解析

来自分类Dev

Grep多个字符串并知道哪个字符串位于何处

来自分类Dev

删除文件中的多个字符串/字符

来自分类Dev

如何在C中使用gets()打印多个字符串(带空格)?

来自分类Dev

多个字符以jEdit语法结尾的字符串

来自分类Dev

遍历多个文件并计数多个字符串

来自分类Dev

搜索多个字符串

来自分类Dev

用多个字符分割字符串

来自分类Dev

多个字符串:: find

来自分类Dev

Grep多个字符串

来自分类Dev

替换字符串中的多个字符

来自分类Dev

匹配多个字符串

来自分类Dev

尝试将多个字符串解析为 1 个字符串

来自分类Dev

替换多个文件中的多个字符串