如何从java android Studio中的字符串中获取项目

时间:2018-01-17 20:15:43

标签: java android string integer

我开发了一个在线预订Android应用程序。我有一个小问题来从我从数据库获得的响应中获取数据。我的Json对象响应就像这个例子: “星期六”:“1300-1320:1,1325-1345:5,1350-1410:9,1415-1435:1 ......,

在上面的1300-1320中是时间段,实际上是13:00到13:20,1是可用票数。

我需要列表视图中的项目如下:

13:00至13:20

可用的门票是1

13:25至13:45

可用的门票是5

13:50至14:10

可用的门票是9

和...你可以得到这个想法。问题是我不知道如何实现这一点。

你能帮我吗?我将不胜感激任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:0)

以下是一个快速示例ti的外观:

    private void parseString() {
      String data = "1300-1320:1,1325-1345:5,1350-1410:9,1415-1435:1";

      String[] commaStrings = data.split(",");
      for (String commaString : commaStrings) {
          String[] hours = commaString.split(":");
          String[] times = hours[0].split("-");

          String t1 = padded(times[0], 2, ":");
          String t2 = padded(times[1], 2, ":");
          String hour = t1 + " to " + t2;
          System.out.println("Hour: " + hour + " available: " + hours[1]);
      }
    }

    private String padded(String original, int charLimit, String separator) {
      StringBuilder formatted = new StringBuilder();

      for (int i = 0; i < original.length(); i++) {
         if (i % charLimit == 0 && i > 0) {
            formatted.append(separator);
         }
         formatted.append(original.substring(i, i + 1));
      }

      return formatted.toString();
   }

结果:

Hour: 13:00 to 13:20 available: 1
Hour: 13:25 to 13:45 available: 5
Hour: 13:50 to 14:10 available: 9
Hour: 14:15 to 14:35 available: 1

希望它有所帮助!!!

答案 1 :(得分:0)

如果您确定答案的格式是一致的,可以通过拆分来解决问题。

以下是:):

String response = //your response ;
String[] items = response.split(",");

for(String item : items){
   String available_tickets = item.split(":")[1];
   String time_interval = item.split(":")[0];

   String from = time_interval.split("-")[0];
   String to = time_interval.split("-")[1];
   from = new StringBuilder(from).insert(from.length()-2, ":").toString();
   to = new StringBuilder(to).insert(to.length()-2, ":").toString();

   System.out.println(from + " to " + to + "\n");
   System.out.println("The available" + (available_tickets.equals("1") ? " 
   ticket is " : " tickets are ") + available_tickets);
}