如何解决如何从文本中删除电子邮件和电话信息?
| 是否有正则表达式可通过此文本来编辑电子邮件和电话信息:Hi John,Please contact me at tom@email.com or 212-555-1212 or 313.555.1313.
Thank you.
Tom
这样就变成了:
Hi John,Please contact me at [REDACTED] or [REDACTED] or [REDACTED].
Thank you.
Tom
解决方法
使用
String.replaceAll()
。您可以使用此正则表达式匹配电子邮件地址:
[^@\\s]+@[^@\\s]+\\.[a-zA-Z]{2,}
这个是电话号码:
\\d{3}[-.]\\d{3}[-.]\\d{4}
可以支持更多种电话号码格式,但我仅介绍了您所提问题中的示例。
这是一个证明上述工作的小测试程序:
public class Redacted {
public static void main(String[] args) {
String text = \"Hi John,\\n\"
+ \"Please contact me at tom@email.com or 212-555-1212 or 313.555.1313.\\n\"
+ \"Thank you.\\n\"
+ \"Tom\";
System.out.println(\"Before:\\n\" + text + \"\\n\");
// replace email addresses
text = text.replaceAll(\"[^@\\\\s]+@[^@\\\\s]+\\\\.[a-zA-Z]{2,}\",\"[REDACTED]\");
// replace phone numbers
text = text.replaceAll(\"\\\\d{3}[-.]\\\\d{3}[-.]\\\\d{4}\",\"[REDACTED]\");
System.out.println(\"After:\\n\" + text + \"\\n\");
}
}
上面的程序输出:
Before:
Hi John,Please contact me at tom@email.com or 212-555-1212 or 313.555.1313.
Thank you.
Tom
After:
Hi John,Please contact me at [REDACTED] or [REDACTED] or [REDACTED].
Thank you.
Tom
, java.util.regex.Matcher
具有replaceAll
方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。