java - 是否有任何基于 Java 的开源框架可以根据带有分隔符的键字符串从文本字段中查找值?

标签 java jakarta-ee machine-learning text-mining

是否有任何基于 Java 的开源框架可以根据带有分隔符的键字符串在文本字段中查找值?

示例:

key :用户名 开始分隔符:; 结束分隔符:;

键:开 开始分隔符:; 结束分隔符:;

示例输入:用户名为 ;surenraju; 的用户于 ;2013 年 5 月 2 日星期四下午 2:30;

登录系统

结果: 用户名-surenraju
于 - 2013 年 5 月 2 日星期四下午 2:30

提前致谢。

最佳答案

我们已经用正则表达式解决了这个问题。

示例代码:

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

测试

我。键:用户名 开始分隔符:;结束分隔符:;

需要找到一个值,该值后跟键(在本例中为用户名)并且值位于开始和结束分隔符之间(在本例中为;)。

二.键:在开始分隔符上:;结束分隔符:;

示例输入:

用户名为 ;suren; 的用户于 ;2013 年 5 月 2 日星期四下午 2:30;

登录系统

结果:一、用户名-suren 二、于 - 2013 年 5 月 2 日星期四下午 2:30

关于java - 是否有任何基于 Java 的开源框架可以根据带有分隔符的键字符串从文本字段中查找值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16648062/

相关文章:

java - 在 java 中本地运行文件(达到 'localhost' )

java - 向 JPanel 添加滚动

java - JAX-RS Cookie 响应未在浏览器中显示

java - 将 Maven java 应用程序作为依赖项的 Maven Web 项目?

java - Maven 依赖的 NoClassDefFoundError

java - 如何在 Java 应用程序中使用 Jquery 评分星级?

java - 多行转单行

python - Tensorflow 训练错误

python - 在python中打开apache thrift二进制文件

python - from_formula() 缺少 2 个必需的位置参数 : 'formula' and 'data'