java - 从Java中的主字符串中提取子字符串
问题描述
我正在尝试从主字符串中提取字符串的某个部分。例如,我有以下字符串。
A receipt is sent to abc@gmail.com. Please keep it for your own reference.
我只想提取
abc@gmail.com
从字符串。
从我找到的解决方案中,它使用了从字符串开头到字符串电子邮件部分开头以及从电子邮件部分之后到字符串结尾的索引“计数”。但是,我认为这仅在电子邮件中的字符数固定时才有效。不幸的是,我的这里是动态的,这意味着字符串保持不变,除了电子邮件将填充用户键入的电子邮件。请告知。
解决方案
假设您从这个输入字符串开始并且只想提取一个电子邮件地址,您可以考虑使用String#replaceAll
单行选项:
String input = "A receipt is sent to abc@gmail.com. Please keep it for your own reference.";
String email = input.replaceAll(".*\\b(\\w\\S*@\\S*\\w)\\b.*", "$1");
System.out.println(email);
这打印:
abc@gmail.com
推荐阅读
- html - 如何使元素占用其父级空间的 100%?
- python - 从编辑器中使用 Pyzo 运行 Python 脚本
- google-apps-script - 将选项添加到谷歌表单中的复选框
- xero-api - Xero API 错误“您不能有多个具有相同 LineItemID 的订单项。”
- python - 将给定数据框的一列的选定值分配给Python中的另一个数据框
- javascript - 位图到Javascript中的矢量轮廓线?
- validation - go lang 错误:“必需”标签上的“”字段验证失败
- eventhandler - 如何在 C# 中将一个事件处理程序传递给另一个事件处理程序
- node.js - Kubernetes LoadBalancer 服务返回空响应
- java - 从三个路线中找到两个车站之间的路径