我有一个字符串
NAME: Colin AGE:20 EMAIL;TYPE=PREF,INTERNET:colin@gmail.com
我想在之后提取字符串:pattern。 我想要的输出是
Colin
20
colin@gmail.com
我该怎么做?
答案 0 :(得分:0)
尝试将^NAME: ([ \.\w]+) AGE:(\d+) EMAIL;TYPE=PREF,INTERNET:([@\.\w]+)$
替换为\1\n\2\n\3
。
答案 1 :(得分:0)
答案 2 :(得分:0)
即使您的值中包含多个字词,此方法也可以,例如NAME: Colin Jones
。
String str = "NAME: Colin Jones AGE:20 EMAIL;TYPE=PREF,INTERNET:colin@gmail.com";
str = str.replaceAll("([\\w,=;]+?):", "##DELIMITER##");
for( String value : str.split("##DELIMITER##") )
System.out.println(value.trim());
有关模式的深入解释,要查看匹配的内容(并在将来需要时调整它们),请查看this pattern on regex101.com。
请注意,在Java中,您需要两次转义特殊字符,即在regex101.com上使用\w
时,您需要在代码中使用\\w
。