首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本分组文本

文本分组文本
EN

Stack Overflow用户
提问于 2016-06-14 16:18:37
回答 1查看 76关注 0票数 0

我需要帮助在分组文本..I有一个像这样的商家列表,我们可以看到,前几个属于CENTURYLINK旁边的智能ATT ..is有一种方法,以分组/标签这些文本的单一标签或分类这些文本根据他们落入的池。

提前感谢

001 CENTURYLINK IREP

003 CENTURYLINK我的帐户

003-ClearTalk无线

004 CENTURYLINK IVR

005 CENTURYLINK循环

006 CENTURYLINK WIFI

007 CENTURYLINK电缆

111智能ATT

112智能ATT

113 -智能ATT

114智能ATT

120 -智能ATT

131 - SMART - ATT

137 - SMART - ATT

无线AMERY

无线安娜

无线APTOS

无线阿卡迪亚

无线阿诺兹标准杆

无线阿什兰

无线的雅典

EN

回答 1

Stack Overflow用户

发布于 2016-06-19 04:16:11

你有几个选择。最简单的方法之一是匹配厂商的子字符串,如下所示:

代码语言:javascript
复制
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;

public class GroupVendors {
    public static void main(final String[] args) {
        final List<String> vendors = Arrays.asList(
            "CENTURYLINK",
            "SMART",
            "ATT",
            "A WIRELESS");

        final List<String> uncategorizedVendors = Arrays.asList(
            "001 CENTURYLINK IREP",
            "003 CENTURYLINK MY ACCOUNT",
            "003-ClearTalk Wireless",
            "004 CENTURYLINK IVR",
            "005 CENTURYLINK RECURRING",
            "006 CENTURYLINK WIFI",
            "007 CENTURYLINK CABLE",
            "111 SMART ATT",
            "112 SMART ATT",
            "113 - SMART - ATT",
            "114 SMART ATT",
            "120 - SMART - ATT",
            "131 - SMART - ATT",
            "137 - SMART - ATT",
            "A WIRELESS AMERY",
            "A WIRELESS ANNA",
            "A WIRELESS APTOS",
            "A WIRELESS ARCADIA",
            "A WIRELESS ARNOLDS PAR",
            "A WIRELESS ASHLAND",
            "A WIRELESS ATHENS");

        final Map<String, List<String>> categorizedVendors = new TreeMap<>();

        for (final String vendor : vendors) {
            categorizedVendors.put(vendor, new LinkedList<String>());
        }

        for (final String vendor : uncategorizedVendors) {
            for (final Map.Entry<String, List<String>> entry : categorizedVendors.entrySet()) {
                final String category = entry.getKey();
                if (vendor.contains(category)) {
                    final List<String> bin = entry.getValue();
                    bin.add(vendor);
                }
            }
        }

        for (final Map.Entry<String, List<String>> entry : categorizedVendors.entrySet()) {
            final String category = entry.getKey();
            final List<String> bin = entry.getValue();
            System.out.printf("vendors(\"%s\") = {%n", category);
            if (!bin.isEmpty()) {
                System.out.printf("    %s%n",
                    bin.stream()
                        .map((vendor) -> String.format("\"%s\"", vendor))
                        .collect(Collectors.joining(",\n    ")));
            }
            System.out.println("}");
        }
    }
}

示例运行:

代码语言:javascript
复制
% java GroupVendors
vendors("A WIRELESS") = {
    "A WIRELESS AMERY",
    "A WIRELESS ANNA",
    "A WIRELESS APTOS",
    "A WIRELESS ARCADIA",
    "A WIRELESS ARNOLDS PAR",
    "A WIRELESS ASHLAND",
    "A WIRELESS ATHENS"
}
vendors("ATT") = {
    "111 SMART ATT",
    "112 SMART ATT",
    "113 - SMART - ATT",
    "114 SMART ATT",
    "120 - SMART - ATT",
    "131 - SMART - ATT",
    "137 - SMART - ATT"
}
vendors("CENTURYLINK") = {
    "001 CENTURYLINK IREP",
    "003 CENTURYLINK MY ACCOUNT",
    "004 CENTURYLINK IVR",
    "005 CENTURYLINK RECURRING",
    "006 CENTURYLINK WIFI",
    "007 CENTURYLINK CABLE"
}
vendors("SMART") = {
    "111 SMART ATT",
    "112 SMART ATT",
    "113 - SMART - ATT",
    "114 SMART ATT",
    "120 - SMART - ATT",
    "131 - SMART - ATT",
    "137 - SMART - ATT"
}

我假设您感兴趣的供应商类别列表是"CENTURYLINK“、"SMART”、"ATT“和"A WIRELESS”。这样做的效果是对在两个回收站中同时包含"SMART“和"ATT”的所有条目进行分类。如果您希望将每个供应商准确地归入一个库中,那么当类别是多余的时,您将需要确定您更喜欢哪个供应商。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37806584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档