,需要在java中进行字符串的模糊匹配,由于要比较的对象长度不同,也没有固定的组成规则,收集到下列三个方法解决问题
方法一、
public int
indexOf(
String str)
返回指定子字符串在此字符串中第一次出现处的索引。返回的整数是
this.startsWith(str,
k)为
true
的最小
k 值。
参数:
str
- 任意字符串。
返回:如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回
-1
。
if(str1.indexOf("RO")>=0 || str1.indexOf("EL")>=0 || str1.indexOf("RO")>=0)
{存在}
方法二、
public boolean
contains(
CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
返回:如果此字符串包含
s
,则返回 true,否则返回 false
例子:
Str.
contains("12334"
)
注意:,意思为,Str字符串中出现字符串“12345”五个字符中的任何一个,那么则返回true;
方法三、通过正则表达式+
matches方法
public boolean
matches(
String regex)
告知此字符串是否匹配给定的
正则表达式。
调用此方法的 str.matches(regex) 形式与以下表达式产生的结果完全相同:
Pattern
.matches
( regex , str )
参数:
regex
- 用来匹配此字符串的正则表达式 返回:当且仅当此字符串匹配给定的正则表达式时,返回 true