2013-04-10 20 views
0

我有這個字符串:如何做這個分隔符?

1945年:紐約大學:70:俄亥俄州:65

我想用掃描器讀取它,並忽略':'7065,這是分數字段。但是我想讓它讀一年。我知道如何設置分隔符來丟棄所有數字和':',但我不知道如何讓它只丟棄某些數字。我在說什麼實際上可以做到?

+0

如果你是確保前4個字符是必需的一年,爲什麼不使用'String.substring(0,4)'來解壓? – SudoRahul 2013-04-10 05:03:51

+1

斯普利特':'字符,通過它循環,忽略哪一個不是數字 – 2013-04-10 05:05:40

+0

你想讀的年份,大學和州只我是對嗎? – 2013-04-10 05:15:26

回答

0

我的回答,轉貼SANS幽默

Scanner scanner = new Scanner("1945:New York University:70:Ohio State:65"); 
scanner.useDelimiter(":(\\d\\d:?)?"); 

while(scanner.hasNext()) { 
    System.out.println(scanner.next()); 
} 
scanner.close(); 
1

嘗試

Scanner sc = new Scanner("1945:New York University:70:Ohio State:65"); 
    sc.useDelimiter(":\\d+:|:\\d+$|:"); 
    while(sc.hasNext()) { 
     System.out.println(sc.next()); 
    } 

輸出

1945 
New York University 
Ohio State