需要在Java中提取字符串中遵循模式的值

需要在Java中提取字符串中遵循模式的值,java,Java,我有一个字符串,如下所示: 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','cadaut

我有一个字符串,如下所示:

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'

我必须使用Java7来实现这一点,因此我不能使用String.split()任何人都能帮我想出逻辑吗

谢谢

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) );
}

“我必须使用Java 7来实现这一点,因此我不能使用String.split()”=>嗯?Java 7
String
确实有
split()
方法:-您的“因此”似乎不适用于操作!你们说得对。我道歉。但是,我不能使用String.split(),因为我在生产环境中的Java版本不支持split方法。你们能帮我想出一个没有split方法的逻辑吗。非常感谢。