我需要一種方法從字串中獲取特定的“隨機”數字并將它們分別放在單獨的 int 變數中。例如,這個字串不能/不應該改變:
String date = "59598 22-01-19 22:46:32 00 0 0 66.2 UTC(NIST) * ";
我需要將這三個數字放在單獨的整數“22-01-19”中。因此,一個 int 稱為“day”,它保存數字 19,另一個 int 稱為“month”,它保存數字 1,另一個 int 稱為“year”,它保存數字 22。
這就是它的樣子:
String date = "59598 22-01-19 22:46:32 00 0 0 66.2 UTC(NIST) * ";
int day = 0;
int month = 0;
int year = 0;
//(method for finding these numbers and putting them into the separate int variables)
System.out.println(year " " month " " day);
先感謝您!
注意:我沒有找到足以解釋這一點的解決方案讓我理解它,如果已經存在這個問題的副本,我深表歉意。
uj5u.com熱心網友回復:
您可以拆分date兩次以獲取日期串列
String date = "59598 22-01-19 22:46:32 00 0 0 66.2 UTC(NIST) * ";
String[] splittedDate = date.split(" ")[1].split("-");
int day = Integer.valueOf(splittedDate[2]);
int month = Integer.valueOf(splittedDate[1]);
int year = Integer.valueOf(splittedDate[0]);
//(method for finding these numbers and putting them into the separate int variables)
System.out.println(year " " month " " day);
uj5u.com熱心網友回復:
您需要從字串中提取日期(那些特定值)。您可以使用正則運算式 (regex) 來提取它。看看這個與您想要實作的解決方案類似的解決方案 https://stackoverflow.com/a/33924024/6099890
uj5u.com熱心網友回復:
假設日期始終是第二個標記,您可以這樣做。
- 在空格上拆分字串,并使用第二個標記
- 定義一個格式化程式來決議分配給
LocalDate實體的日期。 - 然后提取值
- 您可以使用這些提取來重新格式化日期
- 或者您可以使用格式化程式
String date = "59598 22-01-19 22:46:32 00 0 0 66.2 UTC(NIST) * ";
String[] tokens = date.split("\\s ", 3);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(("dd-MM-y"));
LocalDate ld = LocalDate.parse(tokens[1], dtf);
int day = ld.getDayOfMonth();
int year = ld.getYear();
int month = ld.getMonthValue();
System.out.printf("d-d-d%n", day, month, year);
System.out.println(ld.format(dtf));
印刷
22-01-19
22-01-19
有關更多資訊,請查看java.time包。如果您要決議或操作日期/時間物件,這是一個必須了解的類。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/418888.html
標籤:
