gpt4 book ai didi

java - 使用正则表达式搜索另一个字符串

转载 作者:行者123 更新时间:2023-12-01 04:54:12 24 4
gpt4 key购买 nike

我需要检查一个字符串是否包含在另一个字符串中。

例如,“abc”包含在“abc/def/gh”、“def/abc/gh”中,但不包含在“abcd/xyz/gh”、“def/abcd/”中gh”。

所以,我用“/”分割了输入字符串。然后迭代生成的字符串数组以检查输入

是否可以使用诸如Regex之类的东西来避免创建数组?

另外,有人可以确认使用正则表达式是否比我使用的数组的创建和迭代更快吗?

提前致谢

public class RegexTest {

public static void main(String[] args) {
System.out.println(contains("abc/def/gh", "abc"));
System.out.println(contains("def/abc/gh", "abc"));
System.out.println(contains("def/abcd/gh", "abc"));
System.out.println(contains("abcd/xyz/gh", "abc"));

}

private static boolean contains(String input, String searchString) {
String[] strings = input.split("/");
for (String string : strings) {
if (string.equals(searchString))
return true;
}
return false;
}
}

控制台输出为:真的真的错误的错误

最佳答案

类似这样的事情:

String pattern = "(.*/)?abc(/.*)?";
System.out.println("abc/def/gh".matches(pattern));
System.out.println("def/abc/gh".matches(pattern));
System.out.println("def/abcd/gh".matches(pattern));
System.out.println("abcd/xyz/gh".matches(pattern));

打印

true
true
false
false

关于java - 使用正则表达式搜索另一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14433800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com