Android:在arraylist中删除jsonObject内部的字符串的特定部分

时间:2017-03-10 18:04:43

标签: java android json

我有一个名为GamesData的类,它包含字符串以及此字符串的getter和setter。

我从json下载字符串。其中一个字符串是带有图像的URL。我下载图片但尺寸很小,因为他们的网址。我需要以更大的尺寸下载它。为此,我需要删除这个" small" URL中的字符串:

"home_team_logo": "https:\/\/URL\/images\/teams\/small\/olympique-marseille-890.png"

我有一个来自大json对象的URL,所有这些都在json数组中,形成如上所述。

这就是我要做的json。

arrayList.add(new GamesData(
                                gamesDataObject.getString(TAG_DATE),
                                gamesDataObject.getString(TAG_COMPETITION),
                                gamesDataObject.getString(TAG_HOME_TEAM),
                                gamesDataObject.getString(TAG_AWAY_TEAM),
                                gamesDataObject.getString(TAG_ID)
                        ));

我需要从TAG_HOME_TEAM

中删除
    public static final String TAG_HOME_TEAM= "home_team_logo";

,即上面的网址,只有" small"部分,所以下载的图像将是完整的图像。

事实上,我需要为所有3个标签提供此标记:TAG_COMPETITION,TAG_HOME_TEAM,TAG_AWAY_TEAM。

我该怎么做?的xD

2 个答案:

答案 0 :(得分:2)

您可以使用replace,将/small//一起作为替代,以避免匹配/othersmallteamname/

之类的内容
       String s = "https:/URL/images/teams/small/olympique-marseille-890.png";
       System.out.println(s.replace("/small/", "/"));

输出:

https:/URL/images/teams/olympique-marseille-890.png

答案 1 :(得分:1)

我认为这样的事情可能有用:

gamesDataObject.getString(TAG_HOME_TEAM).replaceAll("\/small\/","/");

这使用正则表达式来匹配所有出现的patern。一个简单易犯错误的方法可能是使用

gamesDataObject.getString(TAG_HOME_TEAM).replace("\/small\/","/");

哪个应该只替换第一次出现。