需要在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方法的逻辑吗。非常感谢。