[英]Is there any Java based open source framework to find values from a text field based on key string with delimiter?
Is there any Java based open source framework to find values in a text field based on key string with delimiter? 是否有任何基于Java的开放源代码框架,用于基于带有定界符的键字符串在文本字段中查找值?
Example: 例:
Key: username Start-Delimiter: ; 密钥:用户名Start-Delimiter :; End-Delimiter: ;
结束定界符:;
Key: on Start-Delimiter: ; 关键字:在开始分隔符上: End-Delimiter: ;
结束定界符:;
Sample Input: A user with username ;surenraju; 输入示例:具有用户名; surenraju;的用户。 logged into the system on ;Thu May 2, 2013 2:30pm;
于2013年5月2日星期四下午2点30分登录系统。
Results: username - surenraju 结果:用户名-surenraju
on - Thu May 2, 2013 2:30pm 上-2013年5月2日星期四2:30 pm
Thanks in advance. 提前致谢。
We have solved this problem with Regex. 我们已经使用Regex解决了这个问题。
Sample code: 样例代码:
ArrayList<String> keys = new ArrayList<String>();
keys.add("username");
keys.add("on");
String startDelimiter = ":";
String endDelimiter = ":";
String searchStr = "A user with username :suren: logged into the system on :22 May 2013 2:30 PM:";
for (String key : keys) {
String pattern = "("+key+")[ ]*?"+startDelimiter+"([^" +endDelimiter+ "]+)"+endDelimiter;
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(searchStr);
while (m.find()) {
System.out.println("Key: " + m.group(1) + " Value: "
+ m.group(2));
}
}
Tests 测验
I. Key: username Start-Delimiter: ; 一,密钥:用户名Start-Delimiter: End-Delimiter: ;
结束定界符:;
Need to find a value which if followed by key( in this case username ) and value is between start and end delimiters(in this case ;). 需要找到一个值,如果该值后跟键(在本例中为username),并且该值在开始和结束定界符(在本例中为;)之间。
II. 二。 Key: on Start-Delimiter: ;
关键字:在开始分隔符上: End-Delimiter: ;
结束定界符:;
Sample Input: 输入样例:
A user with username ;suren; 具有用户名; suren;的用户 logged into the system on ;Thu May 2, 2013 2:30pm;
于2013年5月2日星期四下午2点30分登录系统。
Results: I. username - suren II. 结果:I.用户名-确保II。 on - Thu May 2, 2013 2:30pm
上-2013年5月2日星期四2:30 pm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.