在java中从字符串中提取某些字符

在java中从字符串中提取某些字符,java,split,Java,Split,如何在java中仅从下面的字符串中提取img Url <img src="http://www.moneycontrol.com/news_image_files/2014/b/bull_16-9_356x200_200_0558.jpg" alt="It may be too early to give up on bull market in equities" title="It may be too early to give up on bull market in equiti

如何在java中仅从下面的字符串中提取img Url

<img src="http://www.moneycontrol.com/news_image_files/2014/b/bull_16-9_356x200_200_0558.jpg" alt="It may be too early to give up on bull market in equities" title="It may be too early to give up on bull market in equities" border="0" width="75" height="75" align=" left" hspace="5"
试试这个

String allContent = "<you url content>";
String rawUrl = allContent.split("http:")[1];
String partURL = rawUrl.split(".jpg")[0];           
String finalURL = "http:"+partURL+".jpg";
String allContent=“”;
字符串rawUrl=allContent.split(“http:”)[1];
字符串partURL=rawUrl.split(“.jpg”)[0];
String finalURL=“http:+partURL+”.jpg”;

这不是一个好方法,但是对于您提供的示例,它将非常好地工作

正则表达式呢
*?src=“([^”]+)”*
将捕获src中的所有内容

.*?src="([^"]+)".*


对于HTML或XML,最好使用真正的解析器。如果您有非常有限的特定输入,这可能就足够了。

如果您使用的是XML,最好使用解析器,并且只有字符串,那么您可以使用以下代码段:

class imgUrl
{
public static void main(String[] args) 
{
    String tag="<img src=\"http://www.moneycontrol.com/news_image_files/2014/b/bull_16-9_356x200_200_0558.jpg\" alt=\"It may be too early to give up on bull market in equities\" title=\"It may be too early to give up on bull market in equities\" border=\"0\" width=\"75\" height=\"75\" align=\" left\" hspace=\"5\"";
    String url=tag.substring(tag.indexOf("src=\"")+5, tag.indexOf("\"",tag.indexOf("src=\"")+5));
    System.out.println("Url is "+url);
}
}
class-imgUrl
{
公共静态void main(字符串[]args)
{

String tag=“请注意,src也可以是脚本的一个属性。如果您正在解析HTML源代码,请确保您没有元素。因此,请注意仅针对此元素。此正则表达式提取您需要的内容:

(.*?)<img(.*?) src=\"(.[^\"]*)\"(.*)

(*)使用HTML解析器或编写您自己的。好的。您可以得到它。对于单例,拆分和子字符串方法是您的朋友。否则,遵循@MarounMarounThis可能会创建错误工厂。不要在HTML上这样做,只需使用解析器即可。@MarounMaroun是的,我同意。我使用xmlPullParser,但我得不到。请注意,大多数HTML不是有效的xml,只有xhtml会使用xml最好使用像JSoup这样的html解析器来解析html。