如何获取JAVA中字符串的最后一行

如何获取JAVA中字符串的最后一行,java,netbeans,Java,Netbeans,每秒钟我都在将NMEA的字符串连接到一个字符串变量。我只想得到最后的$GPGGA和GPRMC,因为我需要它来记录时间和日期。有办法吗?提前感谢各位。如果您有以下信息: $GPGGA,013810.000,1437.9098,N,12100.2297,E,1,10,1.0,26.4,M,39.1,M,,0000*69 $GPRMC,013810.000,A,1437.9098,N,12100.2297,E,0.00,122.34,200916,,,A*6A $GPGGA,013811.000,14

每秒钟我都在将NMEA的字符串连接到一个字符串变量。我只想得到最后的$GPGGA和GPRMC,因为我需要它来记录时间和日期。有办法吗?提前感谢各位。

如果您有以下信息:

$GPGGA,013810.000,1437.9098,N,12100.2297,E,1,10,1.0,26.4,M,39.1,M,,0000*69
$GPRMC,013810.000,A,1437.9098,N,12100.2297,E,0.00,122.34,200916,,,A*6A
$GPGGA,013811.000,1437.9098,N,12100.2297,E,1,10,1.0,26.4,M,39.1,M,,0000*69
$GPRMC,013811.000,A,1437.9098,N,12100.2297,E,0.00,122.34,200916,,,A*6A
$GPGGA,013812.000,1437.9098,N,12100.2297,E,1,10,1.0,26.4,M,39.1,M,,0000*69
$GPRMC,013812.000,A,1437.9098,N,12100.2297,E,0.00,122.34,200916,,,A*6A
然后在“,”符号处拆分:


我认为每个数组的第二个元素(索引1)都包含时间,因此可以将其访问为
aAry[1]
,其中包含字符串013812.000(就像
bAry[1]
)。我不确定这些字符串中的日期存储在哪里。

在线终止符上拆分,并使用返回的最后一个元素。什么是线终止符,先生?抱歉,我只是java开发的新手,顺便说一句,它们都在一个字符串变量中。您可以使用字符串的lastIndexOf函数查找上次出现的$GPRMC和$GPGGA,然后用逗号替换字符串,然后只获取该数组的11项,或者它们都在一个变量中。我每秒钟都在连接它。如何获取最后的$GPGGA和$GPRMC?日期在$GPRMC行中,是200916,格式为MMDDYY。如果包含连接字符串的字符串名为
bigString
,则
String[]stringArray=bigString.split(“\n”)
stringArray[stringArray.size()-1]
将返回最后一个字符串。然后,可以根据需要从最后一个字符串中删除日期和时间。根据您使用的系统,您可能需要使用
\r
而不是
\n
。我想你也可以使用
$
符号作为分割的替代。为什么我在获取数组大小时出错?
String a = "$GPGGA,013812.000,1437.9098,N,12100.2297,E,1,10,1.0,26.4,M,39.1,M,,0000*69";
String b = "$GPRMC,013812.000,A,1437.9098,N,12100.2297,E,0.00,122.34,200916,,,A*6A";
String[] aAry = a.split(",");
String[] bAry = b.split(",");