灵丹妙药1.0,Erlang 17.3在Windows7 x64上。
我输入以下代码:
l = "[9,0]"
s = String.strip(l,"[")
我明白了:
** (FunctionClauseError) String.lstrib/2(长生不老药)lib/string.ex. no :527: String.lstrip("9,0","[") (长生不老药)lib/string.ex.no:564:String.条带/2中没有匹配的函数子句
我遗漏了什么?
我也尝试过s = String.strip(l,",")
和同样的错误。也尝试了s = String.strip(l,'[')
同样的错误。
我遗漏了什么?
发布于 2014-09-25 21:06:03
您想要将一个字符传递给String.strip/2
s = String.strip(l, ?[)
正如Shashidhar在一条评论中指出的那样,String.strip/2
已经从Elixir文档中删除,并可能在将来被完全删除。建议的替换是绞线修剪/2,它将字符串作为其第二个参数:
s = String.trim(l, "[")
发布于 2014-09-25 21:06:22
您应该使用单个字符作为第二个param,而不是字符串。
iex(42)> l = "[9,0]"
"[9,0]"
iex(43)> s = String.strip(l, ?[)
"9,0]"
iex(44)> s = String.strip(l, ?])
"[9,0"
请参阅串条/2文档中的更多内容(在Elixir1.2中不再推荐,将由String.trim代替)。
https://stackoverflow.com/questions/26047715
复制相似问题