-1

我已经尝试将代码片段从 C# 转换为 Java,但没有成功。我的疑问是在Regex课堂上。

C# 代码

string estado = Regex.Match(pagina, "<td width=\"25\" style=\"padding: 2px\">(.*)</td>").Groups[1].Value;
estado = "<label>" + estado + "</label>";

在这段代码中,我声明了一个名为的字符串estado,并在另一个名为pagina特定字符的字符串中进行搜索。

我怎样才能Regex在 Java 中做到这一点?

HTML(我简化了示例,因为它太大了,所以我在对我来说意义不大的地方放了三个点)

<!DOCTYPE html SYSTEM "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Correios</title>
...
<td width="268" style="padding: 2px">Rua Satelite</td> 
<td width="140" style="padding: 2px">Caicara</td> 
<td width="140" style="padding: 2px">Belo Horizonte</td> 
<td width="25" style="padding: 2px">MG</td> 
<td width="65" style="padding: 2px">30280-291</td> 
</tr></table>
...

我需要这些<td>标签,但在 Java 代码中。

4

1 回答 1

1

Java确实有正则表达式。正则表达式功能由类PatternMatcher. 您的代码将变为:

String estado = Pattern.compile("<td width=\"25\" style=\"padding: 2px\">(.*)</td>").matcher(pagina).group();
estado = "<label>" + estado + "</label>";

有关详细信息,请参阅 的包摘要java.util.regex

于 2013-10-13T23:52:16.120 回答