java怎么判断字符串是否包含update delete等字符串
时间: 2023-10-31 21:33:14 浏览: 203
在 Java 中,可以使用 String 类的 contains() 方法和正则表达式来判断一个字符串是否包含 update、delete 等字符串。
1. 使用 contains() 方法判断字符串是否包含指定子字符串
```java
String str = "SELECT * FROM table WHERE id = 1";
if (str.contains("update") || str.contains("delete")) {
// 字符串包含 update 或 delete
} else {
// 字符串不包含 update 或 delete
}
```
2. 使用正则表达式判断字符串是否包含指定子字符串
```java
String str = "SELECT * FROM table WHERE id = 1";
if (str.matches(".*\\b(update|delete)\\b.*")) {
// 字符串包含 update 或 delete
} else {
// 字符串不包含 update 或 delete
}
```
上面的正则表达式使用了 \\b 表示单词边界,保证只匹配 update 和 delete 这些单词,而不是包含它们的其它单词。其中 .* 表示任意字符,可以用来匹配 update 和 delete 之间的任意字符。
需要注意的是,正则表达式的匹配效率可能不如 contains() 方法,如果在大量字符串中进行判断,建议使用 contains() 方法。
相关问题
java怎么判断字符串是否包含update delete等字符串,考虑大小写
在 Java 中,可以使用 String 类的 contains() 方法和正则表达式来判断一个字符串是否包含 update、delete 等字符串,同时考虑大小写问题。
1. 使用 contains() 方法判断字符串是否包含指定子字符串(不考虑大小写)
```java
String str = "SELECT * FROM table WHERE id = 1";
if (str.toLowerCase().contains("update") || str.toLowerCase().contains("delete")) {
// 字符串包含 update 或 delete(不考虑大小写)
} else {
// 字符串不包含 update 或 delete(不考虑大小写)
}
```
2. 使用正则表达式判断字符串是否包含指定子字符串(考虑大小写)
```java
String str = "SELECT * FROM table WHERE id = 1";
if (str.matches("(?i).*\\b(update|delete)\\b.*")) {
// 字符串包含 update 或 delete(考虑大小写)
} else {
// 字符串不包含 update 或 delete(考虑大小写)
}
```
上面的正则表达式中,使用了 (?i) 表示忽略大小写,保证匹配 update 和 delete 不区分大小写。其中 .* 表示任意字符,可以用来匹配 update 和 delete 之间的任意字符,\\b 表示单词边界,保证只匹配 update 和 delete 这些单词,而不是包含它们的其它单词。
需要注意的是,正则表达式的匹配效率可能不如 contains() 方法,如果在大量字符串中进行判断,建议使用 contains() 方法。
判断字符串里是否包含sql语句java代码
可以通过正则表达式来判断字符串是否包含SQL语句,示例代码如下:
```
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SqlStringChecker {
public static boolean containsSql(String input) {
// 匹配SQL语句的正则表达式
String regex = "(?i)(select|update|delete|insert|create|alter|drop|truncate)\\s+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
return matcher.find();
}
public static void main(String[] args) {
String input = "SELECT * FROM users WHERE id = 1;";
if (containsSql(input)) {
System.out.println("字符串包含SQL语句");
} else {
System.out.println("字符串不包含SQL语句");
}
}
}
```
这段代码使用了正则表达式来匹配包含一些关键字(如 select、update、delete 等)的字符串。如果有匹配项,则认为字符串包含SQL语句。
阅读全文