从不断变化的字符串中获取子字符串

时间:2014-01-14 16:45:31

标签: java android string

所以我会减少解释为什么需要它,但会直截了当。我的应用程序正在收到InputStream类型StringInputString的此消息稍后会放入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.41234甚至是字母。这样我就无法使用substring来处理字符串的长度,因为逗号可以放在不同的地方,从头开始计算。

提取每个值的最充分和最好的方法是什么,所以我可以将它们分别放入我自己的TextViews中?

1 个答案:

答案 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("."));