如何拆分字符串并获取android中的特定字符串?

时间:2012-05-31 07:13:31

标签: android

我想拆分一个字符串,最后得到一个字。我在数据库中的数据如下。

  Mohandas Karamchand Gandhi(1869-1948),也被称为圣雄甘地,于1869年10月2日出生于印度古吉拉特邦的Porbandar。   他是在一个非常保守的家庭中长大的,这个家庭与Kathiawad的统治家族有联系。他在伦敦大学学院接受法律教育。   SRC = “/领袖/ gandhi.png”

从上一段我想得到图像名称“甘地”。我得到索引“src =”。但是现在我怎样才能获得图像名称,即“gandhi”。

我的代码:

int index1;
public static String htmldata = "src=";
if(paragraph.contains("src="))
{
   index1 = paragraph.indexOf(htmldata);
   System.out.println("index1 val"+index1);
}
else
   System.out.println("not found");

2 个答案:

答案 0 :(得分:2)

您可以使用StringTokenizer类(来自java.util包):

StringTokenizer tokens = new StringTokenizer(CurrentString, ":");
String first = tokens.nextToken();// this will contain one word
String second = tokens.nextToken();// this will contain rhe other words
// in the case above I assumed the string has always that syntax (foo: bar)
// but you may want to check if there are tokens or not using the hasMoreTokens method

答案 1 :(得分:1)

试试这段代码。检查它是否适合您..

public String getString(String input)
    {
        Pattern pt = Pattern.compile("src=.*/(.*)\\..*");
        Matcher mt = pt.matcher(input);
        if(mt.find())
        {
            return mt.group(1);
        }
        return null;
    }

<强>更新 更改多个项目 -

public ArrayList<String> getString(String input)
    {
        ArrayList<String> ret = new ArrayList<String>();
        Pattern pt = Pattern.compile("src=.*/(.*)\\..*");
        Matcher mt = pt.matcher(input);
        while(mt.find())
        {
            ret.add(mt.group(1));
        }
        return ret;
    }

现在你将得到一个带有所有名字的arraylist。如果没有名字,那么你将获得一个空的arraylist(大小为0)。务必检查尺寸。