我想在 java (android) 中拆分电子邮件字符串,但它无法正常工作。
Input: "ihnel48@gmail.com"
String[] pattens = email.split("@.");
Expected: "ihnel48", "gmail", "com"
Output: "ihnel48" "mail.com"
最佳答案
因为 String.split
基于 regular expression 的匹配, @.
表示它在一行中查找两个 个字符(而不是either 个字符一次)。并且,正则表达式中的 .
是一个特殊字符,意思是“任何东西”:
@. = "@ and then any character"
在您的情况下,这匹配“@g”并且不是点。
相反,您想要:
String[] pattens = email.split("[@.]");
方括号[]
创建了一个字符类,它代表了一个位置可以匹配的所有有效字符。所以,你需要匹配“@
”或“.
”。字符 .
不需要在字符类中转义。
关于java - 无法让 String.split() 在 android 上按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714968/