-1

我想拆分一个字符串并最终得到一个单词。我在数据库中的数据如下。

莫罕达斯·卡拉姆昌德·甘地 (1869-1948),也被称为圣雄甘地,于 1869 年 10 月 2 日出生于印度古吉拉特邦的波尔班达尔。他在一个非常保守的家庭中长大,该家庭与统治家族有联系卡提亚瓦。他在伦敦大学学院接受法律教育。src="/Leaders/gandhi.png"

从上面的段落中,我想获得图像名称“gandhi”。我得到“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");
4

2 回答 2

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
于 2012-05-31T07:18:34.130 回答
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;
    }

现在您将获得一个包含所有名称的数组列表。如果没有名称,那么您将得到一个空的数组列表(大小为 0)。始终检查尺寸。

于 2012-05-31T07:28:00.517 回答