📄 stringsearch.java
字号:
/**
* Description: operations for the a text string.
*
* @ Author Create/Modi Note
* Xiaofeng Xie Feb 22, 2001 xiaofengxie@tsinghua.org.cn
*
* @version 1.0
* @Since MAOS1.0
*/
package Global.methods;
import java.util.*;
import Global.basic.*;
import Global.define.*;
import Global.basic.attrib.*;
public class StringSearch {
public static int getHeadStringIndex(String[] lines, String headStr) {
for(int i=0; i<lines.length; i++) {
if(lines[i].trim().toLowerCase().startsWith(headStr.toLowerCase())) {
return i;
}
}
return -1;
}
public static boolean getFirstCharExist(String str, String chars) throws Exception {
int neglectFirstCharLength = chars.length();
for(int i=0; i<neglectFirstCharLength; i++) {
if(str.startsWith(chars.substring(i, i+1))) {
return true;
}
}
return false;
}
public static int getCharLoc(char data, String str) {
for(int i=0; i<str.length(); i++) {
if(str.charAt(i)==data) return i;
}
return -1;
}
public static boolean isContain(Object[] set1, Object[] set2) {
if(set2==null) return true;
if(set1==null) return false;
for(int i=0; i<set2.length; i++) {
int index = getSelectedIndex(set1, set2[i]);
if (index == -1) return false;
}
return true;
}
public static int[] getSelectedIndices(Object[] nSrc, Object[] nObj) {
if(nSrc==null||nObj==null) return new int[0];
int[] indices = new int[nObj.length];
for(int i=0; i<nObj.length; i++) {
indices[i] = getSelectedIndex(nSrc, nObj[i]);
}
return indices;
}
public static int[] getFullOrderIndices(Vector names, Vector orderNames) {
int[] indices = new int[orderNames.size()];
for(int i=0; i<orderNames.size(); i++) {
indices[i] = getSelectedIndex(names, orderNames.elementAt(i));
}
return indices;
}
public static int[] getValidOrderIndices(Vector names, Vector orderNames) {
int validSize = 0;
int[] indices = new int[orderNames.size()];
for(int i=0; i<orderNames.size(); i++) {
int index = getSelectedIndex(names, orderNames.elementAt(i));
if(index!=-1) {
indices[validSize] = index;
validSize++;
}
}
int[] realIndices = new int[validSize];
System.arraycopy(indices, 0, realIndices, 0, validSize);
return realIndices;
}
public static String getObjString(Object nObj) {
if(nObj instanceof String) return (String)nObj;
if(nObj instanceof BasicName) return ((BasicName)nObj).getName();
return nObj.toString();
}
public static Vector getObjStringSet(Vector strObjSet) {
Vector strSet = new Vector();
for(int i=0; i<strObjSet.size(); i++) {
strSet.add(getObjString(strObjSet.elementAt(i)));
}
return strSet;
}
public static Vector removeObjStringSet(Vector origStringObjSet, Vector tobeRemovedSet) {
Vector strSet = new Vector();
strSet.addAll(origStringObjSet);
for(int i=0; i<tobeRemovedSet.size(); i++) {
String name = getObjString(tobeRemovedSet.elementAt(i));
int index = getSelectedIndex(strSet, name);
if(index!=-1) strSet.remove(index);
}
return strSet;
}
public static int getSelectedIndex(Object[] nSrc, Object nObj) {
if(nSrc==null||nObj==null) return -1;
for(int i=0; i<nSrc.length; i++) {
if(getObjString(nObj).equalsIgnoreCase(getObjString(nSrc[i]))) return i;
}
return GlobalValue.INVALID;
}
public static boolean isSameString(Object nSrc, Object nObj) {
return (getObjString(nSrc).equalsIgnoreCase(getObjString(nObj)));
}
public static int getSelectedIndex(Vector nSrc, Object nObj) {
if(nSrc==null||nObj==null) return -1;
for(int i=0; i<nSrc.size(); i++) {
if(getObjString(nSrc.elementAt(i)).equalsIgnoreCase(getObjString(nObj))) return i;
}
return GlobalValue.INVALID;
}
public static int getTokenLoc(String input, String tokenKey) {
for(int i=0; i<input.length(); i++) {
if(getCharLoc(input.charAt(i), tokenKey) !=-1) return i;
}
return GlobalValue.INVALID;
}
public static int getStringLoc(String[] data, String str) {
if(str==null) return -1;
for(int i=0; i<data.length; i++) {
if(str.equalsIgnoreCase(data[i])) return i;
}
return -1;
}
public static Vector getElementsByKey(String key, Enumeration enumData) {
Vector activeElements = new Vector();
while (enumData.hasMoreElements()) {
BasicAttrib oper = (BasicAttrib)enumData.nextElement();
if(oper.isSameKey(key)) {
activeElements.add(oper);
}
}
return activeElements;
}
public static Vector getSameKeys(IGetKeyEngine[] targets) {
Vector keys = new Vector();
for(int i=0; i<targets.length; i++) {
IGetKeyEngine no = targets[i];
int index = getSelectedIndex(keys, no.getKey());
if(index==-1) keys.add(no.getKey());
}
return keys;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -