猿问

如何恢复整数?

我得到一个字符串,我必须检索值


我认为我们必须使用“.slit”


if (stringReceived.contains("ID")&& stringReceived.contains("Value")) {

这是我的字符串:


I/RECEIVER: [1/1/0 3

I/RECEIVER: :32:11] 

I/RECEIVER: Timestam

I/RECEIVER: p=946697

I/RECEIVER: 531 ID=4

I/RECEIVER: 3 Value=

I/RECEIVER: 18

我收到 1 个字节的值 1 个字节。我想恢复 Timestamp、Id 和 Value 的值。


大话西游666
浏览 164回答 3
3回答

MYYA

您也可以为此使用正则表达式。就像是: 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 可以在时间戳之前),您也可以这样做。但由于它看起来像日志,可能是结构化的,我怀疑你是否需要这样做。

白衣非少年

首先[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);}希望有帮助:)

湖上湖

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
随时随地看视频慕课网APP

相关分类

Java
我要回答