[英]Parse values from a string
你將如何解析字符串中的值,如下面的那個?
12:40:11 8 5 87
數字之間的差距各不相同,第一個值是時間。 以下正則表達式不分隔時間組件:
str.split("\\w.([:]).")
有什么建議么?
正則表達式\\s+
匹配一個或多個空格,所以它會split
成4個值:
"12:40:11", "8", "5", "87"
作為Java字符串文字,此模式為"\\\\s+"
。
如果你想得到所有6個數字,那么你也想分開:
,所以模式是\\s+|:
. 作為Java字符串文字,這是"\\\\s+|:"
。
Scanner
而不是使用String.split
,你也可以使用java.util.Scanner
,並useDelimiter
一樣的,你會用什么split
。 優點是它具有int nextInt()
,您可以使用它將數字提取為int
(如果這確實是您感興趣的話)。
請參閱Pattern doc和String API 。
運用
str.split("\\s+");
會屈服
[ '12:40:11', '8', '5', '87' ]
要么
str.split("\\s+|:");
應該屈服
[ '12', '40', '11', '8', '5', '87' ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.