我有一个字符串如下:
String a= "member;range=12001-*: CN=marimar,OU=Employees,OU=Cisco
Users,DC=cisco,DC=com, CN=cadautel,OU=Employees,OU=Cisco
Users,DC=cisco,DC=com CN=rajaki,OU=Employees,OU=Cisco
Users,DC=cisco,DC=com";我需要得到CN属性的值,比如'marimar‘、'cadautel’、'rajaki‘。
我必须使用Java 7才能做到这一点,因此我不能使用String.split(),任何人能帮我想出逻辑吗?
谢谢!
发布于 2018-05-22 15:00:19
String#split不是这项工作的最佳工具。使用模式匹配器代替:
String a = "member;range=12001-*: CN=marimar,OU=Employees,OU=Cisco
Users,DC=cisco,DC=com, CN=cadautel,OU=Employees,OU=Cisco
Users,DC=cisco,DC=com CN=rajaki,OU=Employees,OU=Cisco
Users,DC=cisco,DC=com";
String pattern = "CN=([^,]+)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(a);
while (m.find()) {
System.out.println("CN attribute: " + m.group(1) );
}
Demo
https://stackoverflow.com/questions/50470677
复制相似问题