我正在做一个java项目,需要确定一个字符串是否包含遵循以下逻辑的另一个字符串:
- 包含“isstr”的父字符串“这是父字符串”应返回 true。因为“isstr”的所有字符都可以在保留子字符串顺序的父字符串中找到。
- 包含应不区分大小写。
有没有人可以帮助我如何以简单有效的方式编写逻辑,或者任何库也非常感谢!
最佳答案
它可以像这样简单:
public boolean contains(final String base, final String search){
final String baseLowerCase = base.toLowerCase(Locale.ENGLISH);
for(final char c : search.toLowerCase(Locale.ENGLISH).toCharArray())
if(baseLowerCase.indexOf(c) < 0)
return false;
return true;
}
例如:contains("这是父字符串", "isstr");
返回true
。
您在这里几乎想要做的是将您正在搜索的String
转换为您将在其中进行迭代的char[]
。然后您要检查基本 String
是否包含该 char
(使用 String#indexOf(char)
)。您希望在第一次出现不包含 char
时返回 false
(这意味着 String#indexOf(char)
返回一个值 < 0 )
关于java - 如何确定一个字符串部分包含另一个字符串? (最好是Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19216398/