java - 从 ArrayList 中查询字符串的一部分

标签 java arraylist substring couchbase

我在 Java 中有下面的 couchbase 查询来获取特定值的数组列表。

Statement statement = select("PlanningId").from(i(CouchbaseBucket.RangePlan.toString()))
                         .where(x("meta().id").like(s("PRODUCTOPTION%")).and(x("Status").eq(s("Ready"))));

    String[] planningIDs = couchbaseRepository.getQueryResult(bucket, statement);

这将返回输出:

[{"PlanningId":"PRODUCTPLANNING_666"}, {"PlanningId":"PRODUCTPLANNING_777"}]

我需要仅包含值的输出:

[{"PRODUCTPLANNING_666"}, {"PRODUCTPLANNING_777"}]

我无法使用子字符串或拆分来获取它。 我该如何实现这一目标?

谢谢 埃姆兰

最佳答案

就像评论中提到的,在每个查询中,如果返回的结果包含单个 String例如:{"PlanningId":"PRODUCTPLANNING_666"}, {"PlanningId":"PRODUCTPLANNING_777"},.... ,仅提取 {"PRODUCTPLANNING_XXX"},... 所需部分的过程可以按如下方式完成:

假设你有一个像

这样的字符串

String planningIds = {"PlanningId":"PRODUCTPLANNING_666"}, {"PlanningId":"PRODUCTPLANNING_777"},....{"PlanningId":"PRODUCTPLANNING_NNN"}

如果你想捕获每个 {"PRODUCTPLANNING_XXX}在一个String ,

StringBuilder finalResult = new StringBuilder();
        String[] results = allPlanningIds.split(",");
        for(String eachPlanningId : results){
            String[] resultPlanningIds = eachPlanningId.split(":");
            if(resultPlanningIds.length != 2){
                continue;
            }
            String result = "{" + resultPlanningIds[1];
            finalResult = finalResult.append(result + ",");
        }
        System.out.println(finalResult);

或者如果您想捕获每个 {"PRODUCTPLANNING_XXX}单独String ArrayList 内的对象,在上面的代码片段中,更改 StringBuilder finalResult = new StringBuilder();List<String> finalResults = new ArrayList<>();

finalResult = finalResult.append(result + ",");finalResults.add(result) .

我希望这就是您正在寻找的内容。

注意:请检查String[] results的结束/空条件。数组。

关于java - 从 ArrayList 中查询字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40734496/

相关文章:

java - 如何从对象数组中的 1 个对象访问数据 - java

c - 我怎样才能找到两个子字符串

java - Spring 启动测试 : @TestPropertySource not overriding @EnableAutoConfiguration

java - 在 Java 中扩展具有不同类型的类时覆盖变量

java - ClickJacking 过滤器以添加 X-FRAME-OPTIONS 作为响应

java - 如何只用部分词来表达整个词?

php - MySQL 子字符串和中间解析错误

java - 在 Google 连接器安装程序中的何处查找文件系统连接器的日志

Java - 在数组列表中的两个元素之间添加一个元素

java - 如何在不循环的情况下打印 ArrayList 的值和索引号?