所以我会减少解释为什么需要它,但会直截了当。我的应用程序正在收到InputStream
类型String
。 InputString
的此消息稍后会放入ArrayAdapter<String>
。它看起来像这样说:
$VER,1,8,06351.0,1207.1,N,13516.4,E,0.03,165.48,5,4,-300,0,100,500,2000,1100,500,23.1,49,1012.111,2.9,2.9,2.9,2.9,1,*FFFF\n
其中$VER,
始终位于该字符串的开头,而所有值都在不断变化。逗号,
分隔各种值,其中每个值都非常重要。所以基本上我无法预测价值看起来如何 - 它可以是1.4
或1234
甚至是字母。这样我就无法使用substring
来处理字符串的长度,因为逗号可以放在不同的地方,从头开始计算。
提取每个值的最充分和最好的方法是什么,所以我可以将它们分别放入我自己的TextViews
中?
答案 0 :(得分:4)
您在寻找String.split(String regex)吗?
String s = "$VER,1,8,06351.0,1207.1,N,13516.4,E,0.03,165.48,5,4,-300,0,100,500,2000,1100,500,23.1,49,1012.111,2.9,2.9,2.9,2.9,1,*FFFF";
String[] a = s.split(",");
如果您需要使用它来分割包含特殊正则表达式字符的字符串,请记住使用Pattern.quote
。
String[] b = s.split(Pattern.quote("."));