从字符串中解析值

jgg*_*jgg 6 java regex text-parsing

您将如何解析字符串中的值,例如下面的字符串?

12:40:11  8    5                  87
Run Code Online (Sandbox Code Playgroud)

数字之间的差距各不相同,第一个值是时间.以下正则表达式不会分隔时间组件:

str.split("\\w.([:]).")
Run Code Online (Sandbox Code Playgroud)

有什么建议?

pol*_*nts 9

正则表达式\s+匹配一个或多个空格,因此它将split分为4个值:

"12:40:11", "8", "5", "87"
Run Code Online (Sandbox Code Playgroud)

作为Java字符串文字,这种模式是"\\s+".

如果你想获得所有6个数字,那么你也想分开:,所以模式是\s+|:.作为Java字符串文字,这是"\\s+|:".

参考


Scanner

String.split您也可以使用java.util.Scanner,而不是使用,也可以使用useDelimiter相同的内容split.优点是它int nextInt()可以用来提取数字int(如果那确实是你感兴趣的话).

相关问题