如果匹配为true,则删除匹配的单词并返回其余单词

时间:2015-02-10 16:45:15

标签: java

我有以下方法。我有两个数组列表。

第一个数组列表包含:品牌名称。

例如:Hermanos的

第二个数组列表包含:产品名称后跟品牌名称。

例如:Hermanos Baby Onion

我想从产品数组列表中删除品牌名称,并返回没有品牌的产品名称。例如:洋葱

为此,我创建了以下代码。但我很难这样做。我评论过这个地方。

public void checkArrayListStatus(ArrayList getBrandName, ArrayList getProductName) {
        log.debug("The Size of Brand Name ArrayList : " + getBrandName.size());
        log.debug("The Size of Product Name ArrayList : " + getProductName.size());


        for (int i = 0; i < getBrandName.size(); i++) {
            String brandName = getBrandName.get(i).toString();
            String productName = getProductName.get(i).toString();
            if (productName.contains(brandName)) {
                System.out.println("Matched");
                //  if matching true, remove the matching word and return the rest of word
            } else {
                System.out.println("Didnot Match !!");
            }
        }
    }

4 个答案:

答案 0 :(得分:1)

if (productName.contains(brandName)) {
      System.out.println("Matched");
      productName = productName.replace (brandName, "");
} else {
      System.out.println("Didnot Match !!");
}

答案 1 :(得分:1)

您可以在java中使用replace来执行此任务。

检查一下。

productName.replace (brandName, ""); 

答案 2 :(得分:1)

您可以将replace用于此目的。试试下面提到的一行。

productName.replace (brandName, ""); 

答案 3 :(得分:-1)

return productName.replace (brandName, "");

这将用空字符串替换品牌名称,基本上将其删除。

我还建议从

更改参数类型
ArrayList

ArrayList <String>

。然后你也可以保留toString转换。