简体   繁体   English

是否有任何基于Java的开放源代码框架,可使用带定界符的键字符串从文本字段中查找值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM