0
我有一個響應字符串,如下所示,我需要解析它並將其存儲在我的類中。格式如下所示:然後這條虛線-------------
其也固定 解析特定格式的字符串
key:value
對
- 任務名稱。它可以有許多鍵值對
下面是響應字符串。
abc-------------
Load:79008
Peak:4932152
def-------------
Load:79008
Peak:4932216
ghi-------------
Load:79008
Peak:4874588
pqr-------------
Load:79008
Peak:4874748
下面是我的課:
public class NameMetrics {
private String name;
private Map<String, String> metrics;
// setters and getters
}
在上面的類,name
應abc
和metrics
地圖應該有Load
爲關鍵和79008
作爲值,並同其他鍵:值對。我想使用正則表達式,但不知道我是否可以在這裏使用正則表達式。
private static final Pattern PATTERN = Pattern.compile("(\\S+):\\s*(\\S*)(?:\\b(?!:)|$)");
String response = restTemplate.getForObject(url, String.class);
// here response will have above string.
這樣做的最好方法是什麼?
正則表達式不需要,只需逐行迭代輸入 – anubhava
閱讀線。跳過空白行。如果'line.indexOf(':')'返回-1,那麼你有一個「header」行,否則你有一個key:value對,所以'substring()'鍵和值。沖洗並重復。 – Andreas