我正在从服务器获取消息,因此我需要解析消息的内容。目前我收到消息并将其转换为下面指定的字符串,
Lat:+1290.9890N
Long:+9098.987890E
Spd:90km/h
所以从上面的字符串中,我需要得到 Lat、Long 和 speed 的值..如何在 Java 中做到这一点..提前谢谢..
我正在从服务器获取消息,因此我需要解析消息的内容。目前我收到消息并将其转换为下面指定的字符串,
Lat:+1290.9890N
Long:+9098.987890E
Spd:90km/h
所以从上面的字符串中,我需要得到 Lat、Long 和 speed 的值..如何在 Java 中做到这一点..提前谢谢..
有很多方法,使用子字符串函数http://docs.oracle.com/javase/6/docs/api/java/lang/String.html。自己试试。
您可以使用拆分、子字符串或其他方式来执行此操作。我建议为此使用 pojo 以避免在处理字符串时出现任何问题,例如 Sting index out of bounds 其他可能的异常。由于您的消息在其格式上看起来非常静态,因此它将更清洁、更易于管理。
为每一行创建一个字符串生成器。
遍历每个现有字符串。
对字符串中的每个项目调用 isDigit()。
如果 isDigit == true,则将数字附加到字符串生成器。
将字符串生成器转换为长
您可以创建一个 Scanner 并使用仅查找浮点数的 Pattern 正则表达式调用 findInLine() 例如 (0..9)*.(0..9)*