簡體   English   中英

Java使用字符串拆分來解析某個子節

[英]java parse a certain subsection using string split

我將提供一個字符串,如APP_RUNTIME_ERB3242322_1_P3A97.tar.gz,將不勝感激。

我想解析它並獲得以下信息: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 targz

...
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

暫無
暫無

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

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