gpt4 book ai didi

erlang - 如何从 Erlang 的列表或字符串中删除字符?

转载 作者:行者123 更新时间:2023-12-04 19:31:09 25 4
gpt4 key购买 nike

如何删除字符 /从此列表中(或称其为字符串)

List = "/hi"

最佳答案

由于 Erlang 中的字符串是字符列表,从字符串中删除第一次出现的字符的一般方法是使用 lists:delete/2 :

1> List = "/hi".
"/hi"
2> lists:delete($/, List).
"hi"

构造 $// 的 Erlang 字符字面量特点。

请注意,无论要删除的字符在字符串中的哪个位置,此方法都有效:
3> List2 = "one/word".
"one/word"
4> lists:delete($/, List2).
"oneword"

请记住,使用这种方法,只会删除第一次出现的字符。要删除所有匹配项,首先使用 string:tokens/2 在给定字符上拆分整个字符串:
5> List3 = "/this/looks/like/a/long/pathname".
"/this/looks/like/a/long/pathname"
6> Segments = string:tokens(List3, "/").
["this","looks","like","a","long","pathname"]

请注意 string:tokens/2将它的分隔符作为一个列表,而不仅仅是单个元素,所以这次我们的分隔符是 "/" (或等效地, [$/] )。我们的结果 Segments是一个字符串列表,我们现在需要将它们重新连接在一起。我们可以使用 lists:flatten/1 string:join/2 为了那个原因:
7> lists:flatten(Segments).
"thislookslikealongpathname"
8> string:join(Segments, "").
"thislookslikealongpathname"
string:join/2 的第二个参数是一个可以在段之间插入的分隔符,但在这里,我们只使用空字符串。

关于erlang - 如何从 Erlang 的列表或字符串中删除字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32549620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com