-1

Javaサーブレットを使用しています。そこでは、正規表現を使用してテキストを除外する必要があります。ただし、Java コンパイラは import java.util.regex.Pattern; のインポート時に言います。「シンボルを解決できません」

したがって、すべての連続マッチャーとパターン関数が機能していません。

サーブレットで正規表現パッケージを使用できませんか? エラーが発生したため、文字列のcontians関数を使用できませんでした。同じ代替手段はありますか?

import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringReader;
import java.util.List;
import java.util.regex.Pattern;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;


public class HelloWorldExample extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException
{
response.setContentType("text/plain;charset=ISO-8859-1");
PrintWriter out = response.getWriter();
String keyword = request.getParameter("inputValue");
HttpClient cl = new HttpClient();
String temp = "http://localhost:8080/solr/select/?q=*%3A*&version=2.2&start=0&rows=2000&indent=on";
PostMethod pst = new PostMethod(temp);

String XMLstr="<GIS>";
Perl5Util perl=new Perl5Util();

 try{
    cl.executeMethod(pst);
    String xmlstr=pst.getResponseBodyAsString();
    SAXBuilder sax=new SAXBuilder();
    Document doc= (Document) sax.build(new StringReader(xmlstr));
    Element rootElem=doc.getRootElement();
    Element res=rootElem.getChild("result");
    List docs=res.getChildren("doc");
    for(int i=0;i<docs.size();i++)
    {
        out.println("docsSize = " + docs.size());
        Element row= (Element)docs.get(i);
        List strs=row.getChildren("str");
        out.println("strs = " + strs.size());
        out.println("Hello");
        Element strRow=(Element)strs.get(0);
        String strContent=strRow.getText().toString();
        Element strRow1=(Element)strs.get(1);
        String Lati=strRow.getText().toString();
        Element strRow2=(Element)strs.get(2);
        String Longi=strRow.getText().toString();
        Element strRow3=(Element)strs.get(3);
        String FileName=strRow.getText().toString();
        if(strContent.contains(keyword))
        {
                //out.println("XMLstr: ");
                XMLstr+="<File><id>"+FileName+"</id><Lat>"+Longi+"</Lat><Long>"+F+"</Long>";
                //out.println("XMLstr: "+XMLstr);
            }   
        //out.println(strRow.getText());
        break;
    }
}catch(Exception e)
{
    out.println(e);
}   
}
}
4

2 に答える 2

0

したくないですjava.util.regex.Patternか?(ではないutils)

于 2012-04-30T07:26:44.930 に答える
0

As per the JavaDoc, the package should be java.util.regex.Pattern and not java.utils.regex.Pattern.

EDIT: are you sure you have the appropriate syntax? (<%@ page import java.util.regex.Pattern %>). Maybe you are using an older version of Java? The Pattern class was made available in Java 1.5.

To see what version you are currently running, open command prompt or terminal and type in java -version. This should yield the Java version you have running on your machine.

于 2012-04-30T07:28:22.637 に答える