我有一个场景,在大文本中,我想识别邮件签名并删除它。签名看起来像这样 -
name | some text | some text | some text E-mail:abc@xyz.com
该段落中的。请注意,管道分隔符的数量可能是三个或更多,但最后它有电子邮件。 我需要一个Java代码使用正则表达式找到这些部分,然后删除它们。任何指针都会有所帮助。 提前谢谢。
只想添加,上面提到的签名模式可能会在大文本中出现一次或多次。管道分隔符内的文本(提及为 some text )也会随着名称和电子邮件字段而改变。
答案 0 :(得分:1)
您将找到包含以下内容的电子邮件:
[^|]+$
匹配行结束前不是管道的所有内容。
答案 1 :(得分:1)
试试这个:
public static void main(String[] args) {
String str = "name | some text | some text | some text E-mail:abc@xyz.com";
String regex = ".*\\|.*\\s+";
String email = str.replaceAll(regex, "");
System.out.println(str);
}
答案 2 :(得分:0)
分割字符串后,将字符串的最后一个元素与电子邮件正则表达式进行比较,我相信你可以在网上找到它。
String[] s = yourString.split("\\|");