幫助,將不勝感激解析某一小節中,我有一個字符串,如: APP_RUNTIME_ERB3242322_1_P3A97.tar.gzJava中使用字符串分割
,我想分析它,並得到如下: P3A97
字符串會在時間上發生變化,但基本上我需要在.tar.gz部分之前的最後五個字母數字字母,每當我得到這些字符串數據時都是如此。
我可以使用java字符串拆分方法,但我不知道我可以使用什麼正則表達式來獲取最後5個字符。
幫助,將不勝感激解析某一小節中,我有一個字符串,如: APP_RUNTIME_ERB3242322_1_P3A97.tar.gzJava中使用字符串分割
,我想分析它,並得到如下: P3A97
字符串會在時間上發生變化,但基本上我需要在.tar.gz部分之前的最後五個字母數字字母,每當我得到這些字符串數據時都是如此。
我可以使用java字符串拆分方法,但我不知道我可以使用什麼正則表達式來獲取最後5個字符。
你可以使用lastIndexOf
str.substring(str.lastIndexOf("_") + 1, str.lastIndexOf(".tar.gz"))
您可以最初基於「_」進行拆分,然後獲取它提供給您的最後一個記號。然後你可以分裂「。」並採取它給你的第一個標記。這當然取決於格式是否總是具有相同數量的每個分割的令牌。
證明:
APP_RUNTIME_ERB3242322_1_P3A97.tar.gz
成 APP
RUNTIME
ERB3242322
1
P3A97.tar.gz
,然後分裂成P3A97.tar.gz
P3A97
tar
和gz
...
String str = "APP_RUNTIME_ERB3242322_1_P3A97.tar.gz";
String lastChars = str.substring(str.length() - 12).replace(".tar.gz", "");
System.out.print(lastChars);
P3A97
我需要的部分名爲.tar.gz前的最後五個字母數字字母每當我得到飼料這個字符串數據。
我可以使用java字符串分割方法,但我不知道我的正則表達式可以用來獲取最後5個字符
你不需要在這裏正則表達式。除了你所提到的東西,如果.tar.gz
可以被認爲是在字符串的結尾,那麼你正在尋找一個substring
:
starting at (length of the string) - length(.tar.gz) - 5
ending at above index + 5
爲什麼不'_'或'.'分裂。或者你可以分裂兩次。 –
如果它總是「.tar.gz」之前的最後五個字符,那麼你可以使用字符串方法的長度爲-12的字符串(或者其他東西,我沒有計算)來得到你想要的。 – jpw