#java #android #regex
#java #Android #регулярное выражение
Вопрос:
Я пытаюсь разработать простую программу регулярных выражений, но я продолжаю получать эту ошибку от eclipse.
Ошибка находится в этой строке, в URL-адресе без верхнего регистра
Последовательность символов getURLContent(URL url) вызывает исключение IOException{
Синтаксическая ошибка, вставьте «;» для завершения LocalVariableDeclarationStatement
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.R.string;
import android.app.Activity;
import android.os.Bundle;
public class VisualizaActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.visualiza);
String expr = "<td><span\s class="flagicon"[^>]*>";
CharSequence getURLContent(URL url) throws IOException{
URLConnection conn = url.openConnection();
String enconding = conn.getContentEncoding();
if (enconding == null){
enconding = "ISO-8859-1";
}
BufferedReader br = new BufferredReader(new InputStreamReader(conn.getInputStream(), enconding));
StringBuilder sb = new StringBuilder(16384);
try{
String line;
while ((line = br.readLine()) != null){
sb.append(line);
sb.append('n');
}
} finally{
br.close();
}
return sb;
}
Pattern patt = Pattern.compile(expr,Pattern.DOTALL | Pattern.UNIX_LINES);
URL url = new URL("http://en.wikipedia.org/wiki/Mexico");
Matcher m = patt.matcher(getURLContent(url));
while (m.find()) {
String stateURL = m.group(1);
String stateName = m.group(2);
System.out.println(stateName "," stateURL);
}
}
}
Комментарии:
1. Вы пытаетесь создать метод внутри метода? Может ли Android делать что-то, о чем я не знаю?
2. ^^ Это. Ваш код недействителен. Вы не можете этого сделать.
3. @DaveNewton — это похоже на a
BufferedReader
, но холоднее.4. @BrianRoach Я подумал, что это пиратский код, но я думаю, что это
BuffarrredReader
.
Ответ №1:
Вы не можете создать метод внутри метода. Вы пытались объявить getURLContent
внутри onCreate