java - java如何恢复整数?

  显示原文与译文双语对照的内容
72 4

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

我想知道 devons utiliser的意思"


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字节的值。 我想恢复时间戳,Id和值的值。

时间: 原作者:

148 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可以在时间戳之前),你也可以。 但是因为看起来像日志,我怀疑你会需要。

148 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);


}



希望有帮助:)

原作者:
92 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

...