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