java字符串模糊匹配

java中使用字符串模糊查询,可以调用方法也可以使用正则表达式。现在介绍三种解决方案。

indexOf
1
public int indexOf( String str)

返回指定子字符串在此字符串中第一次出现处的索引。返回的整数是

this.startsWith(str, k)为 true 的最小 k 值。

参数: str - 任意字符串。

返回:如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1

contains()
1
public boolean contains(CharSequence s)

当且仅当此字符串包含指定的 char 值序列时,返回 true。

参数:s - 要搜索的序列(注意:String 类是实现CharSequence(接口的一个实体类)

返回:如果此字符串包含 s,则返回 true,否则返回 false

1
Str.contains("12334")

注意:Str字符串中出现字符串“12345”五个字符中的任何一个,那么则返回true;

match()
1
public boolean matches(String regex)

告知此字符串是否匹配给定的正则表达式

调用此方法的 str.matches(regex) 形式与以下表达式产生的结果完全相同:

1
Pattern.matches(regex,str)

参数:regex - 用来匹配此字符串的正则表达式

返回:当且仅当此字符串匹配给定的正则表达式时,返回 true