如何搜索以某个单词开头或包含的单词

时间:2015-12-09 09:24:50

标签: java

我正在尝试查看mysql> select * from aster_scripts; +----+----------+--------+ | id | i | sThing | +----+----------+--------+ | 1 | 8 | frog | | 2 | 11333322 | cat | +----+----------+--------+ 是否包含"无效"或者如果用户试图键入单词的部分"不活动"。

有没有更简单的方法来实现这一目标?

foo

5 个答案:

答案 0 :(得分:5)

尝试使用此

if ("inactive".indexOf(foo) != -1)
{
    System.out.println("Contains!");
}

答案 1 :(得分:2)

最初我认为你想要的是if( foo.indexOf( "inactive" ) != -1 )。但我错了。并且所有答案都是错误的。因为你想要的是不可能的。 (对不起,我写完原始答案的时候已经很晚了。)

在集合论中,每个集合也包含空集。由此可见,每个字符串都包含“非活动”一词的一部分,因为:

  • 空字符串也是单词“inactive”和
  • 的一部分
  • 每个字符串都包含空字符串。

所以,@ asylias在他对OP的评论中抓住了问题的实质。

两件事之一是真的:

  • 你没想过要完成什么,或者
  • 你没有很好地解释你想要完成的是什么。

目前,除if( true )以外,您的问题无法获得任何答案。

答案 2 :(得分:1)

foo.contains("nact");

这是最简单的解决方案

答案 3 :(得分:1)

您可以使用contains(CharSequence)类中定义的startsWith(String)String方法。

请参阅官方文档中的更多信息。

答案 4 :(得分:1)

如果这意味着它应匹配,如果"不活动" string是foo的一部分。

你可以使用正则表达式[inactve],如果foo包含正则表达式中提到的任何字符,它将匹配foo。我在正则表达式中被忽略,因为它来了两次。

有关详细信息,请参阅此link