2016-09-22 70 views
-1
$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 

每秒我把NMEA的字符串連接到一個字符串變量。我只想得到最後一個$ GPGGA和GPRMC,因爲我需要它的時間和日期。有沒有辦法做到這一點?先謝謝你們。我怎樣才能得到在JAVA字符串的最後一行

+2

拆分行結束符並使用返回的最後一個元素。 –

+0

什麼是行結束符先生?對不起,我只是一個在java開發新手,順便說一句,他們都在1字符串變量。 – CeciliA

+0

您可以使用String的lastIndexOf函數來查找$ GPRMC和$ GPGGA的最後一次出現,然後用逗號將字符串子串,然後僅取該數組中的11個項目 – mhasan

回答

0

如果有以下內容:

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(","); 

我認爲每個陣列的第二元件(索引1)包含時間,以便它可以作爲aAry[1]訪問,其中包含字符串013812.000(與bAry[1]一樣)。我不確定日期存儲在這些字符串中的位置。

+0

先生他們都在一個變量中。即時連接它每秒。我怎麼能得到最後$ GPGGA和$ GPRMC? – CeciliA

+0

日期在$ GPRMC行中,它是格式爲MMDDYY的200916。 – CeciliA

+0

如果包含連接字符串的字符串被命名爲'bigString',那麼'String [] stringArray = bigString.split(「\ n」);''和'stringArray [stringArray.size() - 1]'將返回最後一個串。然後可以根據需要從最後一個字符串中刪除日期和時間。 – PEF

相關問題