首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我不能从字符串中删除这个字符?

为什么我不能从字符串中删除这个字符?
EN

Stack Overflow用户
提问于 2014-09-25 20:40:21
回答 2查看 2.2K关注 0票数 1

灵丹妙药1.0,Erlang 17.3在Windows7 x64上。

我输入以下代码:

代码语言:javascript
运行
复制
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,'[')同样的错误。

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-25 21:06:03

您想要将一个字符传递给String.strip/2

代码语言:javascript
运行
复制
s = String.strip(l, ?[)

正如Shashidhar在一条评论中指出的那样,String.strip/2已经从Elixir文档中删除,并可能在将来被完全删除。建议的替换是绞线修剪/2,它将字符串作为其第二个参数:

代码语言:javascript
运行
复制
s = String.trim(l, "[")
票数 4
EN

Stack Overflow用户

发布于 2014-09-25 21:06:22

您应该使用单个字符作为第二个param,而不是字符串。

代码语言:javascript
运行
复制
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代替)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26047715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档