You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java多场景下字符串内容提取并存入List的实现方案问询

实现指定字符串提取逻辑的方法

完全可以实现这个需求,下面是基于Java的具体实现方案:

核心思路

  • 先判断字符串是否包含括号对 ():
    • 若没有,直接将整个字符串作为唯一元素存入列表
    • 若有,先提取括号前的内容(去除末尾多余空格),再提取括号内的内容,按逗号分割后逐个处理(去除前后空白),最后把两部分内容合并成列表

代码实现

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringExtractor {
    public static List<String> extractElements(String input) {
        List<String> result = new ArrayList<>();
        // 匹配括号及内部内容的正则
        Pattern pattern = Pattern.compile("\\((.*?)\\)");
        Matcher matcher = pattern.matcher(input);

        if (!matcher.find()) {
            // 没有括号,直接加入整个字符串
            result.add(input.trim());
            return result;
        }

        // 提取括号前的内容,去除末尾空格
        String prefix = input.substring(0, matcher.start()).trim();
        result.add(prefix);

        // 提取括号内的内容,按逗号分割
        String inside = matcher.group(1);
        String[] parts = inside.split(",");
        for (String part : parts) {
            // 去除每个元素的前后空白后加入列表
            result.add(part.trim());
        }

        return result;
    }

    public static void main(String[] args) {
        // 测试示例
        String k1 = "Apple";
        String k2 = "Apple Orange";
        String k3 = "Apple (Banana, Orange, Grape)";
        String k4 = "Apple Orange (Banana, Grape)";
        String k5 = "Apple Orange (Banana Ice cream, Grape)";

        System.out.println("k1 -> " + extractElements(k1));
        System.out.println("k2 -> " + extractElements(k2));
        System.out.println("k3 -> " + extractElements(k3));
        System.out.println("k4 -> " + extractElements(k4));
        System.out.println("k5 -> " + extractElements(k5));
    }
}

输出结果

运行上述代码后,输出与你给出的示例完全一致:

k1 -> [Apple]
k2 -> [Apple Orange]
k3 -> [Apple, Banana, Orange, Grape]
k4 -> [Apple Orange, Banana, Grape]
k5 -> [Apple Orange, Banana Ice cream, Grape]

内容的提问来源于stack exchange,提问作者Java Programmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 21:00:58