java提取字符串中需要的数据

最近做了个项目需要从一段字符串中提取出关键的信息,并拿出来使用。相当于张三进了一个无人超市对机器人说:帮我拿一瓶可口可乐,谢谢!!! 这句话有很多种说法,又比如:给我来一瓶可乐,但不管张三怎么说可乐这个商品是不会变得,如果变了,就又变成买别的东西了。所以我们要抓住可乐这个重要的元素,把这个元素提取出来,让机器人去拿和计算价格。

下面就开始做正事了

1.首先要先创建一个集合,把商品放入集合里面,考虑到商品名称是不会重复的,所以使用set集合

 //商品集合
    private static final Set<String> shopType = Stream.of(
            "可乐", "雪碧", "百岁山", "农夫山泉", "冰红茶", "绿茶", "芬达", "脉动",
            "王老吉", "今麦郎", "哇哈哈"
    ).collect(Collectors.toSet());

2.现在集合已经创建完成了,接下来就要通过这个集合去对比用户说的话 看看有没有用户说的商品,如果有就把商品的名称给提取出来并返回

    //判断用户说的商品是否存在
    private static Set<String> getShoesType (String message){
    
    
        Set<String> clothesTypeSet = shopType.stream()
                .filter(clothesType -> message.contains(clothesType)).collect(Collectors.toSet());
        return clothesTypeSet;
    }

3.最后一步,在方法中调用

public static void main(String[] args) {
    
    
        String me = "我想买瓶百岁山";
        Set shopName = getShoesType(me);
        System.out.println(shopName);
        String mes = "我想买瓶";
        Set shopNames = getShoesType(mes);
        System.out.println(shopNames);
    }

4.执行方法后控制台显示如下
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/javaasd/article/details/108539294
今日推荐