亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何恢復整數?

如何恢復整數?

大話西游666 2022-06-15 15:10:08
我得到一個字符串,我必須檢索值我認為我們必須使用“.slit”if (stringReceived.contains("ID")&& stringReceived.contains("Value")) {這是我的字符串:I/RECEIVER: [1/1/0 3I/RECEIVER: :32:11] I/RECEIVER: TimestamI/RECEIVER: p=946697I/RECEIVER: 531 ID=4I/RECEIVER: 3 Value=I/RECEIVER: 18我收到 1 個字節的值 1 個字節。我想恢復 Timestamp、Id 和 Value 的值。
查看完整描述

3 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

您也可以為此使用正則表達式。就像是:


 String example="[11/2/19 9:48:25] Timestamp=1549878505 ID=4 Value=2475";          

        Pattern pattern=Pattern.compile(".*Timestamp=(\\d+).*ID=(\\d+).*Value=(\\d+)");

        Matcher matcher = pattern.matcher(example);

        while(matcher.find()) {

            System.out.println("Timestamp is:" + matcher.group(1));

            System.out.println("Id is:" + matcher.group(2));

            System.out.println("Value is:" + matcher.group(3));

        }

如果令牌的順序可以不同(例如 ID 可以在時間戳之前),您也可以這樣做。但由于它看起來像日志,可能是結構化的,我懷疑你是否需要這樣做。


查看完整回答
反對 回復 2022-06-15
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

首先[11/2/19 9:48:25]似乎沒有必要,所以讓我們直接跳入“時間戳”將其刪除。


使用indexOf(),我們可以找到時間戳開始的位置。


// "Timestamp=1549878505 ID=4 Value=2475"

line = line.substring(line.indexOf("Timestamp")); 

由于每個字符串都以空格分隔,因此我們可以將其拆分。


// ["Timestamp=1549878505", "ID=4" ,"Value=2475"]

line.split(" ");

現在對于每個標記,我們可以使用 '=' 的索引對其進行子串化并將其解析為字符串。


for(String token: line.split(" ")) {

    int v = Integer.parseInt(token.substring(token.indexOf('=') + 1));

    System.out.println(v);

}

希望有幫助:)


查看完整回答
反對 回復 2022-06-15
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

String text = "Timestamp=1549878505 ID=4 Value=2475";

        Pattern p = Pattern.compile("ID=(\\d)");

        Matcher m = p.matcher(text);

        if (m.find()) {

            System.out.println(m.group(1));

        }

輸出 4


查看完整回答
反對 回復 2022-06-15
  • 3 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號