【问题标题】:How can I compare a List<String> against a String?如何将 List<String> 与 String 进行比较?
【发布时间】:2020-09-28 15:07:38
【问题描述】:

我目前有这个代码:

    private boolean checkWildcardFilter(String contentStripped, GuildTransformer guild) {
        String words = contentStripped.toLowerCase();
        List <String> badWordsList = replace(guild.getBadWordsWildcard());
        System.out.println("UWords: " + words);
        System.out.println("FWords: " + badWordsList);
        
        return words.stream().anyMatch(badWordsList::equals);
    }

在示例中 applehi 应该被过滤

我想要它做的是检查句子“我会和我的新 hire. 一起去吃一个盛大的apple。”。无论句子中的什么位置,它都需要找到“apple”和“hi”这两个词。如果它找到它,它应该过滤

它是用 Java 编写的,单词来自数据库:database entry

它会解码为:(一些脏话)

["***", "***", "***", "***"]

【问题讨论】:

  • 哦,对了@Inga 我还没有解释,这是不和谐的。所以我不能编辑消息。它与 Java 一起使用。不是 C++/C#
  • 另外,可能的东西来自数据库,它以base64加密的列表形式存储
  • 字符串的来源无关紧要,无论是数据库还是base64。这个问题本身也与 Discord 无关。如果您在使用数据库、base64 或不和谐时遇到问题,请提出单独的问题。
  • 是的,我应该对此进行更多解释。我是 SOF 的新手。我会尽量改进我的问题:)

标签: java string list discord discord-jda


【解决方案1】:

我认为您需要检查字符串是否包含任何字符序列。

如果那来自数据库,您将需要使用适当的查询/数据库连接/等来检索您想要的那些。

如果关键字已加密,则必须对其进行解密。有几个解密库,你只需要知道你说的是“什么”语言

正如@Clashsoft 提到的,您在这里尝试解决多个问题。建议将它们分成 3 份,以便您提出非常客观的问题。

对于字符串位置,可以使用这个依赖:

Apache Utils

可以在类似问题上找到更多详细信息:

How do I check if a string contains a list of characters?

【讨论】:

    【解决方案2】:

    我目前有一些我可以使用的东西,但我正在寻找改进,我能做些什么来改进它?

    我有东西可以用;

        private boolean checkWildcardFilter(String contentStripped, GuildTransformer guild) {
            String words = contentStripped.toLowerCase();
            List <String> badWordsList = replace(guild.getBadWordsWildcard());
            //System.out.println("UFWords: " + words);
            //System.out.println("FWords: " + badWordsList);
    
            for (String word : badWordsList) {
                if (words.contains(word)) {
                    return true;
                }
            }
            return false;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-09
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多