【发布时间】:2017-01-28 14:51:32
【问题描述】:
我只是想在我的 Android 应用上拆分 ShoutCast 提供的元数据(艺术家 - 歌曲)。到目前为止,我为处理此问题而实现的代码一直运行良好(大约 5 个月,然后管理员更新了直播平台)。我认为新的 Shoutcast 版本改变了元数据格式并添加了一些特殊字符(可能是更多的空格)。
这是我当前的代码,运行良好:
String meta_an = "";
artist_name.setText(meta_an.split("-")[0]);
song_name.setText(meta_an.split("-")[1]); //here is the error, index 1
实际上,两个字符串之间的分隔符是“ - ”,但这些行正在完成这项工作。
这是一个元数据示例:“Dorian Gray - Sjaj U Tami”
您可以在这里查看: http://shoutcast.pondi.hr:8000/currentsong?sid=1
我想元数据的开头没有空格,就在中间。
另一方面,我发现了这个错误:
【问题讨论】:
-
可能有一些元数据不包含“-”字符
-
是的,它包含“-”,它适用于第一个字符串[0],但是[1]
-
如果没有“-”字符,split方法返回一个元素的数组,所以你只会得到艺术家的名字
-
我已经测试过在拆分之前打印出完整的字符串,是的,伙计,有一个“-”字符
-
试试 String meta_an = "Hello";