我有一个字符串列表说“abc”“bcd”“xyz”等 和一个字符串“xyzxxxxxxxxx”,我需要找出字符串中是否存在任何列表值。
在C#中我们有.any函数来查找它。在java中有什么办法吗?答案 0 :(得分:1)
我认为这不可能在1行中,但您可以遍历列表并使用.contains()
String[] listOfString = { "abc", "bcd", "xyz" };
String s = "xyzxxxxxxxxx";
for (String temp : listOfStrings) {
s.contains(temp);
}
如果您想知道事件的位置,也可以使用indexOf()
。
答案 1 :(得分:1)
您可以使用String.contains
方法在较大的字符串中查找子字符串:
String needle = "abc";
String haystack = "xyzxxxxxxxxx";
if (haystack.contains(needle)) {
// react accordingly
}
要将其扩展到您的特定要求,您可以简单地遍历所有子字符串并依次检查每个子字符串。 (在发现匹配的情况下,可能会提前短路,具体取决于您想要做什么)。
答案 2 :(得分:1)
public class Main {
public static void main(String[] args) {
String[] strings = new String[]{"abc", "dfg"};
String ss = "abcd";
for(String s : strings) {
System.out.println(ss + " contains " + s + ": " + ss.contains(s));
}
}
}
答案 3 :(得分:1)
这是一个可以实现您想要实现的目标的例子:
public static void main(String[] args) {
List<String> list = Arrays.asList("abc","bcd", "xyz");
String search = "xyzxxxxxxxxx";
for (String s : list) {
if (search.contains(s)) {
System.out.println("Found " + s + " in " + search);
}
}
}
答案 4 :(得分:1)
您可以使用以下内容:
String source = "xyzxxxxxxxxx";
List<String> strings = ...;
for (int i = 0; i < string.size();i++)
{
if (source.contains(strings.get(i))
{
System.out.println("Match found at " + (i + 1));
break;
}
}
答案 5 :(得分:0)
循环浏览列表并使用
C#String.IndexOf
Java String.indexOf
答案 6 :(得分:0)
您可以遍历列表,并且每次都会调用string.contains(listelement)
。