-1

文字列を分割して、最後に単語を取得したいと思います。私のデータベースのデータは次のとおりです。

マハトマ・ガンジーとしても知られるモハンダス・カラムチャンド・ガンジー(1869-1948)は、1869年10月2日、現在のインドのグジャラート州のポルバンダルで生まれました。 Kathiawad。彼はロンドンのユニバーシティカレッジで法学の教育を受けました。src = "/ Leaders / gandhi.png"

上記の段落から、画像名「ガンジー」を取得したいと思います。「src=」のインデックスを取得しています。しかし、どうすれば画像名、つまり「ガンジー」を最終的に取得できますか。

私のコード:

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 に答える