mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-27 11:42:16 -05:00
SplitUserID into lib
This commit is contained in:
parent
bc2fe2dbfe
commit
12cf19b63e
@ -73,4 +73,39 @@ public class OpenPgpUtils {
|
|||||||
}
|
}
|
||||||
return hexString;
|
return hexString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final Pattern USER_ID_PATTERN = Pattern.compile("^(.*?)(?: \\((.*)\\))?(?: <(.*)>)?$");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Splits userId string into naming part, email part, and comment part
|
||||||
|
*
|
||||||
|
* @param userId
|
||||||
|
* @return array with naming (0), email (1), comment (2)
|
||||||
|
*/
|
||||||
|
public static String[] splitUserId(String userId) {
|
||||||
|
String[] result = new String[]{null, null, null};
|
||||||
|
|
||||||
|
if (userId == null || userId.equals("")) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* User ID matching:
|
||||||
|
* http://fiddle.re/t4p6f
|
||||||
|
*
|
||||||
|
* test cases:
|
||||||
|
* "Max Mustermann (this is a comment) <max@example.com>"
|
||||||
|
* "Max Mustermann <max@example.com>"
|
||||||
|
* "Max Mustermann (this is a comment)"
|
||||||
|
* "Max Mustermann [this is nothing]"
|
||||||
|
*/
|
||||||
|
Matcher matcher = USER_ID_PATTERN.matcher(userId);
|
||||||
|
if (matcher.matches()) {
|
||||||
|
result[0] = matcher.group(1);
|
||||||
|
result[1] = matcher.group(3);
|
||||||
|
result[2] = matcher.group(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user