从字符串

时间:2015-05-11 07:32:06

标签: android regex string

我正在尝试从字符串中提取值。

字符串:“亚马逊* APPSTORE.FX费率和费用适用。”;

从上面的文字中我只想提取:亚马逊* APPSTORE

所以我尝试了以下内容:

Log.e(“transaction”,“value”+ gettext(str));

public static String gettext(String stringtext)
{
        return stringtext.substring(stringtext.lastIndexOf("at")+2, stringtext.lastIndexOf(".")).trim() ;
}

但我得到的结果如下:

es and charges are applicable

它是从费率开始并打印其他字符串而不是第一个“at”的字符串?

为什么?

2 个答案:

答案 0 :(得分:2)

使用indexOf()代替lastIndexOf()了解详细信息,请查看http://www.java-samples.com/showtutorial.php?tutorialid=225

stringtext.substring(stringtext.indexOf("at")+2, stringtext.indexOf(".")).trim())

答案 1 :(得分:1)

lastIndexOf()查找字符串中子字符串的 last 次出现。所以它找到" at" in" rate"。同样适用于"。"

请参阅http://www.java-samples.com/showtutorial.php?tutorialid=225

对于您的示例,您可以简单地使用indexOf()。甚至更具体的东西,如:

return stringtext.substring(stringtext.indexOf("at Amazon")+2, stringtext.indexOf(".FX")).trim() ;