簡體   English   中英

Java解析字符串的最后一部分

[英]Java parsing last part of a string

我有三個弦。

0:0:0-0:0:1
0:0:0-3:0:0-1:2:0
0:0:0-3:0:0-3:2:0-3:2:1

我正在嘗試做一個練習,其中我解析字符串以僅輸出-之后的最后一部分,即分別輸出:

0:0:1
1:2:0
3:2:1

我嘗試通過使所有字符從字符串末尾直到-5 ,但這並不總是有效的(如果數字大於1的整數)。 lastStateVisited是我的字符串

lastStateVisited = lastStateVisited.substring(lastStateVisited.length() - 5);

我曾想過將字符串拆分到數組中並獲取數組的最后一個元素,但這似乎效率很低。

String[] result = lastStateVisited.split("[-]");
lastStateVisited = result[result.length - 1];

我有什么辦法可以做到這一點? 謝謝

嘗試這個:

String l = "your-string";
int temp = l.lastIndexOf('-');
String lastPart = l.substring(temp+1);

因為在你從最終獲取子串,直到需要的您的要求精礦-似乎還是第一次。

那么,為什么不首先獲取last的索引-出現在字符串中。 然后從此處提取子字符串直到結束。 不錯的選擇。 :)

String str = "0:0:0-3:0:0-3:2:0-3:2:1";
String reqStr = str.substring(str.lastIndexOf('-')+1);

reqStr包含必需的字符串。 您可以在這部分代碼中使用循環,以提取更多此類字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM