我收到2个字符串作为输入。第一个是名称,第二个是符号。符号必须是2个字符。要使符号有效,其字母必须按顺序出现在名称中。 例如 名称:“记事本”和 符号:'Nt'或'Te'有效,但'Et'或'Da'无效。
答案 0 :(得分:2)
您可以构建自己的正则表达式来检查符号是否正确,例如:
String str = "Notepad";
String symbole = "tN";
String regex = "(?i).*";
for(int i = 0; i<symbole.length(); i++){
regex+=symbole.charAt(i)+".*";
}
System.out.println(str.matches(regex));
例如输出:
Symbole Regex Result
tN (?i).*t.*N.* false
Nt (?i).*N.*t.* true
Nd (?i).*N.*d.* true
NeD (?i).*N.*e.*D.* true
(?i)
不区分大小写?
答案 1 :(得分:0)
逻辑是 -
在字符串
如果找到,则在第一个
-
public boolean isValid(String str1, String str2){
String t1, t2;
t1 = str1.toLowerCase();
t2 = str2.toLowerCase();
if( t1.indexOf( t2.charAt(0) ) > -1 )
if( t1.indexOf( t2.charAt(1), t1.indexOf(t2.charAt(0))) > -1 )
return true;
return false;
}