java - 在 Android 中使用 .contains() 关键字的字符串匹配

标签 java android string string-comparison

String a = "Hello my name is Sap";

String b = "HelloisSapmyname";

String c = "Sap is my name";

String d = "Sap";



String keyword = "Sap";

当我使用 .contains() 时,它适用于所有字符串。

除了 b 之外,如何让它在所有情况下都为真?

注意:如果关键字是第一个单词,则在关键字前添加空格将不起作用。请帮忙!

编辑:添加了所有可能的条件

解决方案:在其他答案的帮助下,我找到了满足所有条件的解决方案

if (a.contains(" "+key+ " ") || a.startsWith(key+" ") 
    || a.equals(key) || a.endsWith(" "+key))

正则表达式会比这更快吗?

最佳答案

您可以将输入的 String 拆分为单词,将其转换为 List 并在 List 上运行 contains :

Arrays.asList("Hello my name is Sap".split(" ")).contains("Sap")

关于java - 在 Android 中使用 .contains() 关键字的字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52851361/

相关文章:

android - 我的安卓通知图标是一个白色方 block

java - JPA,无法删除记录

java - 在java应用程序中加载用户代码

java - 为什么我的 Maven 不使用定义的 BOM?

java - 为什么 getSize() 方法在 Android Studio 中不起作用?

android - 如何使用适用于 gradle 2.3.1 的 Android 插件在 Android Studio 中找到打包在 AAR 中的 jni 库?

MySQL拆分字符串然后选择

php - 需要动态替换字符串中的参数

string - 如何检查 MutableList 的元素或字符串输入是否为数字?

java - 使用 JSP 从 SQL 显示单个属性值