例如:
字符串1=helloworld字符串2=asdfuvjerhelloworld
这应该是真的。
另一个例子:字符串1=helloworld字符串2=lshewodxzr
这也应该是真的。
所以我正在研究如何创建一个方法,它将返回一个布尔值,检查第二个字符串是否包含第一个字符串中的字母。在第二个示例中,string2只有一次字母l,尽管字母l在string1中出现了三次,但仍然返回true。同样在第二个示例中,string2的字母不在string1中,但仍然返回true。
任何关于如何编写代码的帮助都将不胜感激!
实际上我找到了一个更简单的方法,但把我的旧答案留作参考。这也应该是最有效的方法,而且它仍在使用Java 8:
public boolean containsAllChars(String a, String b) {
List<Character> aChars = stringToCharacterList(a);
List<Character> bChars = stringToCharacterList(b);
return bChars.containsAll(aChars);
}
public List<Character> stringToCharacterList(String input) {
return input.chars().distinct()
.mapToObj(i -> (char)i)
.collect(Collectors.toList());
}
它从两个字符串中获取不同字符的列表,然后检查第一个字符串的所有字符是否都包含在第二个字符串中。
通过使用Java 8,我可以做到以下几点:
public boolean check(final String firstString, final String secondString) {
//Create a map mapping all characters from the firstString to true/false
Map<Character, Boolean> map = IntStream.rangeClosed('a', 'z')
.boxed()
.collect(Collectors.toMap(
i -> (char)(int)i,
i -> firstString.chars().anyMatch(j -> j == i)
));
return map.entrySet().stream()
.filter(entry -> entry.getValue() == true)
.map(Map.Entry::getKey)
.allMatch(ch -> secondString.chars().anyMatch(i -> i == ch));
}
解释:
映射
我相信这个解决方法是正确的。如果我正确理解了你的要求。
这是使用Java8。
public static void main(String[] args) {
String a = "helloworld";
String b = "lshewodxzr";
containsAllChars(a, b);
containsAllChars(b, a);
}
private static void containsAllChars(String a, String b) {
boolean result = a.chars().distinct().allMatch(ch -> b.contains(String.valueOf((char) ch)));
System.out.println(result);
}
输出:
true
false
问题内容: 在代码中检查的子字符串是: 但是我该如何在Swift中做到这一点? 问题答案: 您可以使用Swift进行完全相同的调用: Swift 4和Swift 5 在Swift 4中,String是值的集合,在Swift 2和3中并不是这样,因此您可以使用以下更简洁的代码1: 迅捷3.0+ 较早的斯威夫特 我希望这是一个有用的解决方案,因为包括我在内的某些人通过致电遇到了一些奇怪的问题。1个 P
在中,检查中的子字符串的代码是: 但我如何在Swift中做到这一点呢?
问题内容: 如何在JavaScript中编写等效于C#的代码? 注意:这是一个古老的问题,正如评论中指出的ECMAScript2015(ES6)引入了该方法。但是,在撰写此更新(2015)时,浏览器支持还远远没有完成。 问题答案: 你可以使用方法,但并非所有浏览器都支持该方法。你可能需要使用填充程序/填充来将其添加到不支持它的浏览器中。创建一个符合规范中所有细节的实现有点复杂。如果你想要忠实的垫片
问题内容: 如何检查数组中的任何字符串是否在另一个字符串中? 喜欢: 该代码行不通,只是为了展示我想要实现的目标。 问题答案: 你可以使用: 同样,要检查是否找到了列表中的所有字符串,请使用all代替any。
本文向大家介绍如何检查Python的另一个字符串中是否存在多个字符串?,包括了如何检查Python的另一个字符串中是否存在多个字符串?的使用技巧和注意事项,需要的朋友参考一下 要检查数组中的任何字符串是否在另一个字符串中,可以使用any函数。 示例 输出结果 这将为您提供输出: 示例 尽管有些夸张,但您也可以使用正则表达式来匹配数组。例如: 输出结果 这将为您提供输出:
问题内容: if var is ‘stringone’ or ‘stringtwo’: dosomething() 这行不通!我有一个变量,当它是两个值中的一个时,我需要它执行某些操作,但它不会输入if语句。在Java中工作。如何用Python编写? 问题答案: 这不能满足您的期望: 它与: 始终为真,因为它被认为是“真”值。 有两种选择: 或者您可以编写单独的相等性测试, 不要使用,因为比较对象