【发布时间】:2014-11-27 12:33:02
【问题描述】:
我有一个格式为“The Url is http://m.gap.com/division.html?dn=gd5646”的字符串列表 该程序的输出是一个包含 product 字样的 url 列表。 我已经设法在 java 中使用正则表达式获取 url,但我不明白如何检查单词 product 是否也存在。
【问题讨论】:
我有一个格式为“The Url is http://m.gap.com/division.html?dn=gd5646”的字符串列表 该程序的输出是一个包含 product 字样的 url 列表。 我已经设法在 java 中使用正则表达式获取 url,但我不明白如何检查单词 product 是否也存在。
【问题讨论】:
如果它们都是 String 对象,很容易在字符串上调用 .contains("product")。它将根据“产品”是否存在返回一个布尔值。
String.contains() documentation
注意:如果需要正则表达式,请尝试String.matches()。可以通过myStr.matches(regex) 调用。如果您只需要“产品”,我相信正则表达式是/product/。
【讨论】:
使用contains("product")时的问题是它会检查整个字符串中的单词。
您可以使用以下正则表达式仅在 url 子字符串中查找单词。
The Url is https?:\/\/(.*product.*)
或者,如果Product这个词可能是大写的,你可以试试:
The Url is https?:\/\/(.*(P|p)roduct.*)
您可以使用以下 String 方法测试字符串:
String.matches(regex)
======================================
例子:
if(text.matches("The Url is https?:\/\/(.*product.*)")) {
//Do Something...
}
【讨论】: