我想指定一個掃描儀的分隔符,分隔某些模式,但不會從標記中刪除該模式。我似乎無法完成這項工作,因爲正則表達式所識別的任何東西都會被作爲分隔符的一部分被吃掉。有什麼建議麼?Java掃描程序分隔符的使用
我的具體問題,我有文件看起來像:
text/numbers mix
numbers
numbers
text/numbers mix
numbers
numbers
numbers
.
.
我想從文本/數字混合+行拆分出來,直到下一個文本/數字組合。我有正則表達式來識別它們,但如前所述,使用它作爲分隔符可以滿足我想要的部分。
編輯:代碼追加:
static final String labelRegex="\\s*[^01\\s*]\\w+\\s*";
static final Pattern labelPattern = Pattern.compile(labelRegex, Pattern.MULTILINE);
是我用來識別文本/數字位模式(我知道我的號碼的行包含用空格隔開的所有1/0)。
當我初始化掃描儀:
stateScan = new Scanner(new BufferedReader(new FileReader(source)));
stateScan.useDelimiter(labelPattern);
是吃的標籤,只是離開行。我目前有一個工作實現,可以從兩個來自同一個源的緩衝文件讀取器啓動兩個掃描器,一個由狀態分割,另一個由標籤分割。我真的很喜歡它只是一個抓住標籤+狀態。
你可以張貼你已經到目前爲止已經試過的代碼? – akf 2009-10-10 12:24:47