Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中拆分字符串并获取特定字符串?_Android - Fatal编程技术网

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

如何在android中拆分字符串并获取特定字符串?,android,Android,我想拆分一个字符串,最后得到一个单词。我在数据库中的数据如下 莫汉达斯·卡拉姆汉德·甘地(1869-1948),又名圣雄甘地,1869年10月2日出生于印度古吉拉特邦的波尔班达尔。 他在一个非常保守的家庭中长大,与执政的卡西亚瓦德家族有联系。他在伦敦大学学院接受法律教育。 src=“/Leaders/gandhi.png” 从上面的段落中,我想得到图像名称“甘地”。我得到的索引是“src=”。但是现在我怎么才能最终得到形象的名字,即“甘地” 我的代码: int index1; public st

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

莫汉达斯·卡拉姆汉德·甘地(1869-1948),又名圣雄甘地,1869年10月2日出生于印度古吉拉特邦的波尔班达尔。 他在一个非常保守的家庭中长大,与执政的卡西亚瓦德家族有联系。他在伦敦大学学院接受法律教育。 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");

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


试试这个代码。检查它是否适合你

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;
    }
public ArrayList getString(字符串输入)
{
ArrayList ret=新的ArrayList();
Pattern pt=Pattern.compile(“src=.*/(.*)\\..*”;
匹配器mt=pt.匹配器(输入);
而(mt.find())
{
ret.add(mt.group(1));
}
返回ret;
}

现在您将获得一个包含所有名称的arraylist。如果没有名称,则会得到一个空的arraylist(大小为0)。始终检查尺寸。

您好,谢谢您的回复……但如何从中获取图像名称?请参阅我的答案。把绳子传给它。返回值是
*
之前的图像名称您好,谢谢您…工作正常…我可以获取图像名称…但是在我的数据库中的某些行中有两个图像..那么如何获取这两个图像名称?请建议我…如果格式相同,请使用
while
而不是
If
<代码>while(mt.find())。但是不要返回-而是将它们保存到
字符串的数组中,然后返回数组;虽然(mt.find()){System.out.println(“my.group(1)”+mt.group(1));imgs.add(mt.group(1));return imgs;}但它正在返回nullhi,非常感谢..如果我想获得具有扩展名的图像名,我该怎么做?请改用这个正则表达式<代码>“src=.*/(.\\.\.\\.\\']*)”
这是转义字符串。所以只需像这样替换即可。
Pattern.compile(“src=.*/(.\\\.\.\\.\\\\']*)
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;
    }