为什么不能从字符串中删除此字符? [英] Why Can't I Strip This Character From A String?
问题描述
Elixir 1.0,在Windows 7 x64上为Erlang 17.3。
Elixir 1.0, Erlang 17.3 on Windows 7 x64.
我键入以下代码:
l = "[9,0]"
s = String.strip(l,"[")
我明白了:
**(FunctionClauseError)String.lstrip中没有匹配的函数子句/ 2
(elixir)lib / string.ex:527:String.lstrip( [9,0], [)
(elixir)lib / string.ex:564:字符串。 strip / 2
** (FunctionClauseError) no function clause matching in String.lstrip/2 (elixir) lib/string.ex:527: String.lstrip("[9,0]", "[") (elixir) lib/string.ex:564: String.strip/2
我丢失了什么?
我也尝试过 s = String.strip(l,,)
和相同的错误。还尝试了 s = String.strip(l,'[')
相同的错误。
I also tried s = String.strip(l,",")
and same error. Also tried s = String.strip(l,'[')
same error.
我缺少什么?
推荐答案
您要将字符传递给 String.strip / 2
:
s = String.strip(l, ?[)
正如Shashidhar在评论中指出的那样, String.strip / 2
已从Elixir文档中删除,可能是将来完全删除。建议替换为 String.trim / 2 ,该方法将String作为第二个字符串参数:
As Shashidhar points out in a comment, String.strip/2
has been dropped from Elixir documentation and may be removed completely in future. The suggested replacement is String.trim/2 which takes a String as its second argument:
s = String.trim(l, "[")
这篇关于为什么不能从字符串中删除此字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!