给你一条个人信息 string S,它可能是一个邮箱地址,也可能是一个电话号码。

我们将隐藏它的隐私信息,通过如下规则:

<u>1. 电子邮箱</u>

定义名称 <name> 是长度大于等于 2 (length ≥ 2),并且只包含小写字母 a-z 和大写字母 A-Z 的字符串。

电子邮箱地址由名称 <name> 开头,紧接着是符号 <font face="Menlo, Monaco, Consolas, Courier New, monospace">'@'</font>,后面接着一个名称 <name>,再接着一个点号 '.',然后是一个名称 <name>。

电子邮箱地址确定为有效的,并且格式是 "name1@name2.name3"

为了隐藏电子邮箱,所有的名称 <name> 必须被转换成小写的,并且第一个名称 <name> 的第一个字母和最后一个字母的中间的所有字母由 5 个 '*' 代替。

<u>2. 电话号码</u>

电话号码是一串包括数字 0-9,以及 {'+', '-', '(', ')', ' '} 这几个字符的字符串。你可以假设电话号码包含 10 到 13 个数字。

电话号码的最后 10 个数字组成本地号码,在这之前的数字组成国际号码。注意,国际号码是可选的。我们只暴露最后 4 个数字并隐藏所有其他数字。

本地号码是有格式的,并且如 "***-***-1111" 这样显示,这里的 1 表示暴露的数字。

为了隐藏有国际号码的电话号码,像 "+111 111 111 1111",我们以 "+***-***-***-1111" 的格式来显示。在本地号码前面的 '+' 号和第一个 '-' 号仅当电话号码中包含国际号码时存在。例如,一个 12 位的电话号码应当以 "+**-" 开头进行显示。

注意:像 "(",")"," " 这样的不相干的字符以及不符合上述格式的额外的减号或者加号都应当被删除。

最后,将提供的信息正确隐藏后返回。

示例 1:

输入: "LeetCode@LeetCode.com"
输出: "l*****e@leetcode.com"
解释:
所有的名称转换成小写, 第一个名称的第一个字符和最后一个字符中间由 5 个星号代替。
因此,"leetcode" -> "l*****e"。

示例 2:

输入: "AB@qq.com"
输出: "a*****b@qq.com"
解释:
第一个名称"ab"的第一个字符和最后一个字符的中间必须有 5 个星号
因此,"ab" -> "a*****b"。

示例 3:

输入: "1(234)567-890"
输出: "***-***-7890"
解释:
10 个数字的电话号码,那意味着所有的数字都是本地号码。

示例 4:

输入: "86-(10)12345678"
输出: "+**-***-***-5678"
解释:
12 位数字,2 个数字是国际号码另外 10 个数字是本地号码 。

注意:

  1. S.length <= 40
  2. 邮箱的长度至少是 8。
  3. 电话号码的长度至少是 10。

831. 隐藏个人信息相关推荐

  1. 图像信息隐藏算法JAVA_Java实现 LeetCode 831 隐藏个人信息(暴力)

    831. 隐藏个人信息 给你一条个人信息字符串 S,它可能是一个 邮箱地址 ,也可能是一串 电话号码 . 我们将隐藏它的隐私信息,通过如下规则: 电子邮箱 定义名称 name 是长度大于等于 2 (l ...

  2. Java实现 LeetCode 831 隐藏个人信息(暴力)

    831. 隐藏个人信息 给你一条个人信息字符串 S,它可能是一个 邮箱地址 ,也可能是一串 电话号码 . 我们将隐藏它的隐私信息,通过如下规则: 电子邮箱 定义名称 name 是长度大于等于 2 (l ...

  3. LeetCode 831. 隐藏个人信息

    1. 题目 给你一条个人信息字符串 S,它可能是一个 邮箱地址 ,也可能是一串 电话号码 . 我们将隐藏它的隐私信息,通过如下规则: 电子邮箱 定义名称 name 是长度大于等于 2 (length ...

  4. 831 隐藏个人信息

    题目描述: 给你一条个人信息字符串 S,它可能是一个 邮箱地址 ,也可能是一串 电话号码 . 我们将隐藏它的隐私信息,通过如下规则: 电子邮箱 定义名称 name 是长度大于等于 2 (length ...

  5. [leetcode]831. 隐藏个人信息

    坑还很多.. class Solution {public:string maskPII(string S) {if(S.size() == 0) return "";string ...

  6. Nginx隐藏主机信息,proxy_hide_header 与fastcgi_hide_header

    Nginx中proxy_hide_header 与fastcgi_hide_header都可以隐藏主机头信息,两者在具体使用时还是有着一定的区别的.刚好业务使用的nginx反向代理在显示响应头时将后端 ...

  7. linux隐藏apache信息,Apache防盗链和隐藏版本信息-linux-centos运维

    有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 一.防盗链 二.隐藏版本信息 实验要求: 三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windo ...

  8. apache php隐藏头信息的方法,apache、php隐藏http头部版本信息的实现方法

    1.apache隐藏头部版本信息,编辑httpd.conf文件,找到: ServerTokens OS ServerSignature On 修改为: ServerTokens ProductOnly ...

  9. 微信 发送图片 服务器上,公安提醒:微信发照片,千万别传原图”!5个步骤教你隐藏位置信息...

    原标题:公安提醒:微信发照片,千万别传"原图"!5个步骤教你隐藏位置信息 你与陌生人之间,可能只是一张照片的距离.有时候一张"原图"照片,分分钟就暴露了你的信息 ...

最新文章

  1. OpenGL书和资源
  2. Java和Android中一些常用的公共方法
  3. SpringBoot实现注册时头像上传与下载
  4. 超简单的java爬虫
  5. .net 窗体清除上次显示的内容_access在系统右下角任务栏弹出消息提示窗体
  6. mysql忘记密码恢复
  7. html CheckBox
  8. bp算法中为什么会产生梯度消失?
  9. 数据结构题集(C语言版 清华大学出版社)
  10. centos ping 路由_centos服务器怎么ping 命令
  11. 山东理工——1019
  12. wp手机 htc x310e
  13. vue3 tsx语法
  14. VC6.0 快捷键整理
  15. 适用Macos的几款好用的人物照片编辑工具
  16. 苹果cms安装mysql检测失败_苹果cmsV10安装过程中的常见问题处理办法
  17. 全键盘 掌上 linux,拥有QWERTY打字体验手机秒变掌上电脑 OPPO全键盘保护壳专利曝光...
  18. TVS管 与 稳压二极管参数对比
  19. 小眼游戏架构:UI篇:系统功能(新手引导)
  20. php源文件怎么打开,php文件怎么打开?

热门文章

  1. 游戏小创业团队最终的结局
  2. Vue 项目中 高亮搜索关键字
  3. matlab多项式多个值代入求值,[转载]Matlab 解惑之——多项式运算
  4. 怎么提取视频音频?音视频分离的妙招
  5. 基于微信小程序的点餐系统源码/基于uni-app点餐系统app【有多种UI样式】
  6. 这八十一道java高级框架面试题你能答出多少题?
  7. div图片背景虚化不影响图片上的文字_css 设置背景图片模糊,内容不模糊
  8. 使用encode方法防止XSS攻击
  9. SwipeLayout 仿qq会话列表简单侧滑【删除,修改】
  10. 网络安全 彩虹表 彩虹表破解 使用john