微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

elixir 中字符串的第一个和最后一个字符之间的删失字符

如何解决elixir 中字符串的第一个和最后一个字符之间的删失字符

我想在 elixir 中替换/审查用户名的字符。所以最后,它应该看起来像在 ebay 的投标人列表中:

enter image description here

在 elixir 中有字符串替换功能,但我是 regex 的新手,我不知道 elixir-regex 支持什么。那么我怎样才能做到这一点?

iex> String.replace("username1234",someregex,"***")
"u***4"

解决方法

虽然你肯定可以用正则表达式“替换除第一个和最后一个符号之外的所有符号”来实现这一点

String.replace "username1234",~r/(?<=\A.).*(?=.\z)/,"***"
#⇒ "u***4"

我最好选择String.slice/3

first = String.slice("username1234",1)
last = String.slice("username1234",-1,1)
"#{first}***#{last}"
#⇒ "u***4"

String.graphemes/1

[h | t] = String.graphemes("username1234")
h <> "***" <> List.last(t)
#⇒ "u***4"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。