📄 wildcard.java
字号:
// Decompiled by DJ v2.9.9.61 Copyright 2000 Atanas Neshkov Date: 2003-6-18 20:17:20
// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name: WildCard.java
package com.jspsmart.file;
public class WildCard
{
public WildCard(String s)
{
card = s.toLowerCase();
}
public boolean Match(String s)
{
String s1 = Format(s);
return equalsIgnoreCase(s, s1);
}
private boolean startsWith(String s, String s1)
{
if(s1.equals(""))
return true;
if(s1.length() > s.length())
return false;
for(int i = 0; i < s1.length(); i++)
{
char c = s1.charAt(i);
if(c != '?' && c != s.charAt(i))
return false;
}
return true;
}
private boolean endsWith(String s, String s1)
{
if(s1.equals(""))
return true;
if(s1.length() > s.length())
return false;
int i = s.length() - 1;
for(int j = s1.length() - 1; j >= 0; j--)
{
char c = s1.charAt(j);
char c1 = s.charAt(i--);
if(c != '?' && c != c1)
return false;
}
return true;
}
private boolean equalsIgnoreCase(String s, String s1)
{
if(s.length() != s1.length())
return false;
for(int i = 0; i < s.length(); i++)
{
char c = Character.toLowerCase(s.charAt(i));
char c1 = Character.toLowerCase(s1.charAt(i));
if(c != c1 && c != '?' && c1 != '?')
return false;
}
return true;
}
private String Format(String s)
{
int i = card.indexOf('*');
int j = card.lastIndexOf('*');
String s4 = s.toLowerCase();
String s1;
String s2;
String s3;
if(i < 0)
{
s1 = "";
s3 = card.substring(0);
s2 = "";
} else
{
if(card.equals("*"))
{
s1 = "";
s3 = "";
} else
{
s1 = card.substring(0, i);
s3 = card.substring(j + 1);
}
if(startsWith(s, s1))
s2 = s4.substring(s1.length());
else
s2 = s4;
if(endsWith(s2, s3))
s2 = s2.substring(0, s2.length() - s3.length());
}
if(i < j && indexOf(s2, card.substring(i + 1, j)) == -1)
s2 = s2 + s4;
return s1 + s2 + s3;
}
private int indexOf(String s, String s1)
{
for(int i = 0; i < s.length(); i++)
if(startsWith(s.substring(i), s1))
return i;
return -1;
}
private String card;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -