正则表达式分割字符串

2024-02-12

我有这段代码打印:

[( ?Random = <http://www.semanticweb.org/vassilis/ontologies/2013/5/Test#Hello> ), ( ?Random = <http://www.semanticweb.org/vassilis/ontologies/2013/5/Test#Bye> )]

我尝试在 [#] 处拆分,但没有成功。

我应该在 split 中放入什么,以便我只能得到 # 之后的部分:你好,再见

Query query = QueryFactory.create(queryString);
                     QueryExecution qe= QueryExecutionFactory.create(query, model);
                    ResultSet resultset = qe.execSelect();
                    ResultSet results = ResultSetFactory.copyResults(resultset); 
                    final ResultSet results2 = ResultSetFactory.copyResults(results);


                    System.out.println( "== Available Options ==" );
                    ResultSetFormatter.out(System.out, results, query);



    Scanner input = new Scanner(System.in);
    final String inputs;
    inputs = input.next();
    final String[] indices = inputs.split("\\s*,\\s*");

    final List<QuerySolution> selectedSolutions = new ArrayList<QuerySolution>(
            indices.length) {
        {
            final List<QuerySolution> solutions = ResultSetFormatter
                    .toList(results2);
            for (final String index : indices) {
                add(solutions.get(Integer.valueOf(index)));
            }
        }
    };

    System.out.println(selectedSolutions);

如果我理解正确,您只想通过正则表达式从输入字符串中提取“Hello”和“Bye”。

在这种情况下,我只会使用两者之间的迭代匹配# and >, 像这样:

// To clarify, this String is just an example
// Use yourScannerInstance.nextLine to get the real data
String input = "[( ?Random = <http://www.semanticweb.org/vassilis/ontologies/2013/5/Test#Hello> ), "
                + "( ?Random = <http://www.semanticweb.org/vassilis/ontologies/2013/5/Test#Bye> )]";
// Pattern improved by Brian
// was: #(.+?)>
Pattern p = Pattern.compile("#([^>]+)>");
Matcher m = p.matcher(input);
// To clarify, printing the String out is just for testing purpose
// Add "m.group(1)" to a Collection<String> to use it in further code
while (m.find()) {
    System.out.println(m.group(1));
}

Output:

Hello
Bye
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式分割字符串 的相关文章

随机推荐

  • 在本地主机上启动 Jupyter Notebook 会导致“[Errno 49] 无法分配请求的地址”,但 ip=127.0.0.1 有效

    尝试启动 Jupyter Notebook 时出现以下错误 Jupyter Notebook Traceback most recent call last File Library Frameworks Python framework
  • ASP.Net Core JWT 令牌验证

    我需要验证在请求中收到的多个令牌 我遵循以下代码流程 services AddAuthentication AddJwtBearer Token1 options gt options TokenValidationParameters n
  • 是否可以调用不在 MATLAB 路径中的函数?

    我安装了一个库 其中有一些与 MATLAB 同名的函数 通过安装库 我的意思是添加路径 当我尝试调用这些函数时 它将使用该库的实现 但我想调用 MATLAB 实现 为了更简单 如果我有两个函数的绝对地址 如何指定要调用哪个函数 我搜索了答案
  • Github 访问错误 - 遇到 AggregateException [重复]

    这个问题在这里已经有答案了 我使用 github 存储库已经快一年了 从今天早上开始 我无法将我的代码推送到远程存储库 我在命令行中收到以下错误 致命 遇到 AggregateException Mindestens ein Fehler
  • 在使用 Inno Setup 安装期间报告已安装的 .NET Framework 版本

    我正在尝试使用 Inno Setup 来准备创建安装程序 我的第一次尝试是向用户报告当前安装了哪个 NET Framework 我想出了以下脚本 它安装了一个令牌 exe 但它没有显示我想要显示已安装的框架版本的消息框 Setup AppN
  • 使用 ECTO 和 put_assoc/4 进行多对多

    我尝试将 2 个现有多对多记录与 ECTO 和 put assoc 4 关联 但在尝试更新时不会删除元素 基本上我有项目和用户 为了管理用户对项目的访问 我有表 user project def Project do schema proj
  • 如何使用 Keras 预测函数/表?

    我目前正在学习keras 我的目标是创建一个简单的模型来预测函数的值 首先 我创建两个数组 一个用于 X 值 一个用于相应的 Y 值 declare and init arrays for training data X np arange
  • 从python中的字符串中获取两个字符[重复]

    这个问题在这里已经有答案了 如何在Python中从字符串中获取不是一个字符 而是两个字符 I have long str abcd for c in long str print c 它给了我喜欢 a b c d 但我需要得到 ab cd
  • 如何调试 Visual Studio 扩展

    我正在为 Visual Studio 2010 编写 VSIX 扩展 但不知道如何调试它 一种明显的方法是输出消息 扩展模板使用Trace WriteLine 但是在哪里可以找到它的输出呢 Visual Studio Extensions
  • 如何在新窗口中使用jspdf打开生成的pdf

    我在用jspdf生成 pdf 文件 一切都运转良好 但生成后如何打开 pdf 在新选项卡或新窗口中 我在用 doc output datauri 这是在同一选项卡中打开 pdf 根据来源 您可以将 dataurlnewwindow 参数用于
  • 从 csv 文件中删除字母和符号 - python 3.7

    我有一个 CSV 文件 其中有一列名为activity其中有如下数据 instv2 02 00001 20190517235008 instv2 9 Insti2 3 Fbstt1 00001 20190517131933 我需要仅从 活动
  • 如果输入包含数组中的任何单词

    我有一个输入 我想知道数组中是否存在任何值 举个简单的例子 我的数组是 var array sun mon tue wed thu fri sat 例如 我已经弄清楚如果我简单地输入 sun 如何触发它 但我想知道 hhsun 或 sune
  • 定义交换运算时减少代码重复

    我有一组名为的可交换二元函数的重载overlap 它接受两种不同的类型 class A a class B b bool overlap A B bool overlap B A 我的功能overlap当且仅当一个形状与另一个形状重叠时返回
  • 宏函数和内联函数在执行速度方面有什么区别?

    编译器如何通过宏处理内联函数以减少执行时间 编译器也被允许not如果这样做会更快 则内联函数 而编译器不能不内联宏 此外 内联函数比宏安全得多
  • 为基类设计一个基迭代器

    我目前正在设计一个界面 Base在下面的示例中 它提供了一些虚拟方法 包括begin and end 这两个方法简单地返回相应的迭代器 就像在任何其他集合类中一样 派生类应该实现这些方法并返回其迭代器的特定实现 下面的 简化的 示例显示了一
  • 自动将输入提供给 Linux 命令行 [重复]

    这个问题在这里已经有答案了 如果我有一个 linux 命令提示输入 2 个或更多输入 如何通过在命令行中定义它来将这些输入传递到提示符 您可以在命令后面添加一些内容来执行此操作吗 在下面的示例中 如何运行命令并向其传递用户名和密码 而无需在
  • 玩! - 独特的模型领域

    如何使我的模型类字段独一无二 例如 如果已经登录 我想为用户显示正确的消息 我必须编写自己的验证检查并使用它 或者 JPA UniqueConstraint可以用吗 我是这样做的 Entity public class User exten
  • 如何在 Java 中从另一个包中转换出同一类的类型?

    有两个班级 foo bar FileUploader and barbar foofoo FileUploader 两者相同并延伸Uploader 代码中的某处foo bar FileUploader被使用并作为我的函数的参数给出Uploa
  • 将数据从 sqlite 导出到 numpy 数组

    我不是程序员 我这样做纯粹是出于爱好 我找到了一种将 numpy 数组保存到 sqlite 数据库中的方法 import sqlite3 import numpy Array of 4 columns and 100 rows data n
  • 正则表达式分割字符串

    我有这段代码打印 Random