1、利用StringTokenizer将输入的空格分隔的字符串识别为多个独立的字符串;
2、利用distinct
关键字过滤重复的项;
3、利用like关键字实现数据库字符串过滤,配合like关键字使用是%表示任意适配的字符。
?
具体源代码:
import java.util.StringTokenizer;
?
public
class SQLStringTester {
?
?public static void main(String[] args) {
??String sql = "select distinct id from dbName.tableName where";
??sql = addTerms ( sql, "Java 字符串 空格分隔" );
??System.out.println(sql);
?}
?
?public static String addTerms(String sql, String terms ) {
??String re = new String(sql);
??String addon_left = " value like '%";
??String addon_right = "%'";
??String addon_end = ";";
??String addon_or = " or";
?
? StringTokenizer st = new StringTokenizer(terms);
??for ( int i=0; st.
hasMoreTokens(); i++ )
???re += (i!=0?addon_or:"") + addon_left + st.nextToken() + addon_right ;
??
??re += addon_end;
??
??return re;
?}
}
?
另外一种方法则是使用String.split(String token)函数,例如,把上例中的for
循环换成:
??String[] result = terms.split(" ");
??for ( int i=0; i<result.length; i++ )
???re += (i!=0?addon_or:"") + addon_left + result[i] + addon_right ;
需要注意的是:split函数必须指名分割符,而StringTokenizer默认的分隔符就是空格。