2013-10-09 32 views
0

我正在使用正則表達式來匹配文本中的某些內容,並且我得到了BufferedReader的每一行。 後來我發現這個問題我解決不了:模式中的匹配器(java.lang.CharSequence)不能應用於(java.io.BufferedReader)

BufferedReader br=null; 
    BufferedWriter bw=null; 

    Pattern p=Pattern.compile(myRegex); 

    try{ 
     FileReader fr=new FileReader(originTextUrl); 
     FileWriter fw=new FileWriter(targetTextUrl); 
     br=new BufferedReader(fr); 
     bw=new BufferedWriter(fw); 
     String s=""; 
     while ((s=br.readLine())!=null){ 

      Matcher m=p.matcher(br); 

這在模式匹配(java.lang.CharSequence中)不能適用於(java.io.BufferedReader中),我不知道如何解決這個。 感謝您的回答!

回答

2

就像它說的那樣,您不能將Pattern應用於BufferedReader - 您必須從閱讀器讀取數據,然後將該模式應用於該模式。

在這種情況下,您已經在閱讀數據 - 但是您忽略了它!你想:

Matcher m = p.matcher(s); 

我也強烈建議你使用更多的描述性變量名稱。

+0

謝謝您的回答。我的確忽略它 – HaoyuRay

0

你試過嗎?

Matcher m=p.matcher(s); 
+0

是的,您說得對! – HaoyuRay