我的下拉值为"来自"和#34;之前"用于搜索我输入的文本框中的文本。
例如,在文本框中,我有sam beach center
,aloe beach
和center of pearl
等值。在Java中,我已经实现了
public static List<Reference> getComesAfterList(List<Reference> items, String searchField){
ArrayList<Reference> matchingList = new ArrayList<Reference>(items.size());
Iterator<Reference> refDataItems = items.iterator();
String searchFieldLower = searchField.trim().toLowerCase();
while (refDataItems.hasNext()) {
reference = refDataItems.next();
try {
description = (String)reference.getValue(Reference.USERDESCRIPTION);
}
catch (Exception exc) {
throw new RuntimeException(exec);
}
if (description.matches("searchFieldLower(?=description)"))
//comes after scenerio->A(?=B)Find expression A where expression B follows
{
matchingList.add(reference);
}
}
}
//comes before case
public static List<Reference> getComesBeforeList(List<Reference> items, String searchField){
ArrayList<Reference> matchingList = new ArrayList<Reference>(items.size());
Iterator<Reference> refDataItems = items.iterator();
String searchFieldLower = searchField.trim().toLowerCase();
while (refDataItems.hasNext()) {
reference = refDataItems.next();
try {
description = (String)reference.getValue(Reference.USERDESCRIPTION);
}
catch (Exception exc) {
throw new RuntimeException(exec);
}
if (description.matches("(?<=searchFieldLower)description"))
//comes before scenerio->(?<=B)A Find expression A where expression B precedes
{
matchingList.add(reference);
}
}
}
如何搜索此类文字条件?除了正则表达式之外还有其他方法吗?帮我解决这个问题。