我有一个字符串如下:
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()任何人都可以帮助我提出逻辑。
谢谢!
答案 0 :(得分:2)
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) );
}