在Java中,我想查看字符串是否包含以下内容:
String link = "%5B%7E%5D/assets.jpg";
if (link.contains("%5B%7E%5D"){
System.out.println("Yes this contains: %5B%7E%5D");
}
搜索字符串是否包含以下内容的正则表达式是什么:%5B%7E%5D?
答案 0 :(得分:1)
String Str = new String("%5B%7E%5D/assets.jpg");
System.out.print("Return Value :" );
System.out.println(Str.matches("(.*)%5B%7E%5D(.*)"));
这将返回:
Return Value :true
答案 1 :(得分:1)
如果您正在搜索确切的字符串,则不需要正则表达式。正则表达式提取元文本以根据您自己的标准扩大搜索范围。
但是,您可以使用Pattern.quote
进行文字匹配,将Matcher.matches
用于开始到结束匹配,或Matcher.find
在给定输入String
内迭代搜索。
例如:
String input = "%5B%7E%5D";
String link = "%5B%7E%5D/assets.jpg";
Pattern p = Pattern.compile(Pattern.quote(input));
System.out.println(p.matcher(input).matches());
System.out.println(p.matcher(input).find());
System.out.println(p.matcher(link).matches());
System.out.println(p.matcher(link).find());
<强>输出强>
true
true
false
true
答案 2 :(得分:1)
if (link.contains("%5B%7E%5D")) {
}
或者可能是链接在服务器上解码,然后:
if (link.contains("[~]")) {
}
可以轻松地将这些字符串转换为(取决于charset问题):
if (link.contains("\u005B\u007E\u005D")) {
}
答案 3 :(得分:0)
据我了解,您希望匹配%2A%4A%0E/something_else
之类的任何字符串?如果是,您可以尝试下一个:
String s = "%5B%7E%5D/assets.jpg";
boolean b = s.matches("%..%..%.*");