【发布时间】:2013-12-03 21:40:32
【问题描述】:
我有一个挑战,要求对字符串中的数字进行混淆,例如 SSN,例如:XXX-XX-4430。我已经很接近了:
def hide_all_ssns(string)
string.scan(/\w{3}-\w{2}-\w{4}/)
string.gsub('/\w{3}-\w{2}', 'XXX-XX')
end
但我得到一个错误:
Error! hide_all_ssns obfuscates any SSNs in the string expected:
"XXX-XX-1422, XXX-XX-0744, XXX-XX-8762" got: "234-60-1422,
350-80-0744, 013-60-8762" (using ==)
我最初有正则表达式(/\d{3}-\d{2}-\d{4}/),但认为问题在于尝试将字符串中的整数转换为X。现在我使用\w,但我得到了同样的错误。
有人有什么见解吗?我是编码新手,已经用尽了 Ruby-doc,以及我可以在 regex/gsub 上找到的任何博客,但我无处可去。
【问题讨论】:
-
你想改变
string吗?如果是这样,设置string = string.gsub...或使用string.gsub! -
我有点怀疑你已经用尽了 Ruby-doc 以及你可以在 regex/gsub 上找到的所有博客。
-
谢谢大家,我找到了答案。不幸的是,作为编码的新手,很容易花几个小时挖掘却仍然找不到答案 - 感谢您抽出宝贵时间发表评论。