如何使用java程序删除英语中的停用词

时间:2010-06-03 11:44:05

标签: java

如何使用java程序删除英语中的停用词。请帮助我最简单的程序或建议我一些想法。提前致谢

3 个答案:

答案 0 :(得分:0)

您可以使用正则表达式。这是some nice tutorials

答案 1 :(得分:0)

你到底是什么意思? 也许[replaceAll] [1]方法可以解决问题。

[1]:http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#replaceAll(java.lang.String,java.lang.String)

答案 2 :(得分:0)

public static String removeStopWords(String query)抛出UnsupportedEncodingException     {       String [] queryTerms = query.split(“&”);       String queryString =“”;       StringBuffer sb = new StringBuffer();       for(int i = 0; i

    }
  if(!queryString.equalsIgnoreCase("")) {
  String [] tokens=queryString.split("\\s+");
  List lStopWords=StopWordDataLoad.getlQueryStringStopword();
  List<String> lTokens=new ArrayList<String>();
  boolean noStopWord=false;
  for(String s: tokens)
    if(!lStopWords.contains(s)) {
          if(sb.length()==0) sb.append(s);
              else sb.append(" ").append(s);
      } else noStopWord=true;

   queryString=sb.toString().replaceAll("\\s+", " ");
   if(queryString.equalsIgnoreCase("") || noStopWord ==false) return query;
  }
  else return query;


  String fque="";
  String finQue = "";
  ArrayList<String> list = new ArrayList<String>();
  for (int i=0;i<queryTerms.length;i++){
      if(queryTerms[i].startsWith("q=") && !queryTerms[i].startsWith("q.orig")){
          fque = "q="+URLEncoder.encode(queryString,PropertyLoader.getHttpEncoding());
          list.add(fque);

      } else if (!queryTerms[i].equalsIgnoreCase("")) list.add(queryTerms[i]);
  }
  ListIterator<String> iter = list.listIterator();
    while(iter.hasNext()){
        String str = iter.next();
        finQue=finQue+"&"+str;
    }


  return finQue.trim();

}