::新手位置::具體數量閱讀文本文件高達字符
我已經具有文本文件中的文本一樣
COM22:15時55分09秒20.09.2013VOLT = 224
我想讀這條線,並分開它得到
15時55分09秒二零一三年九月二十零日
然後
伏= 224
在使用br.readLine()讀取整條生產線......這一次我'有沒有什麼辦法可以限制br.readline()開始來自某個編號的字符(例如第4個字符排列)並結束於某個(例如第8個)???
::新手位置::具體數量閱讀文本文件高達字符
我已經具有文本文件中的文本一樣
COM22:15時55分09秒20.09.2013VOLT = 224
我想讀這條線,並分開它得到
15時55分09秒二零一三年九月二十零日
然後
伏= 224
在使用br.readLine()讀取整條生產線......這一次我'有沒有什麼辦法可以限制br.readline()開始來自某個編號的字符(例如第4個字符排列)並結束於某個(例如第8個)???
,而不是試圖限制字符,讀整條生產線像
String line = br.readLine();
從我看到的評論,要分析
<COM22: 15:55:09 20.09.2013>VOLT=224
現在拆分成幾部分。第一部分是
int leftAngleIdx = line.indexOf('<');
int rightAngleIdx = line.indexOf('>');
//Some error handling code if left >= right or if any of them were -1.
String comAndDate = line.substring(leftAngleIdx + 1, rightAngleIdx); //substring operates on half open intervals.
//Similarly using substring operations. Extract the date part from comAndDate
String volt = line.substring(rightAngleIdx + 1); // After '>'
你也可以使用正則表達式,也許以後。
非常感謝bsd :)這正是我想要的。現在我的代碼完全按照我希望它:) –
你做這個最簡單的方法我認爲會使用正則表達式(如果你不知道正則表達式是什麼,請閱讀它here)。下面是可以幫助您一般(因爲用神奇數字像4和8往往是壞)正則表達式 -
在這種情況下捕獲組1將15:55:09 20.09.2013
和第2組是Volt=224
是否有任何方式我可以限制br.readline()從某些編號的字符開始[諸如此類]
號
如果打算使用BufferedReader.readLine()
,則需要使用正則表達式或其他方法將行拆分或分解爲組件。
或者,您可以使用Scanner
類及其next...
方法讀取各個字段。
你真的沒有用你正在使用的語言標記這個,但我假設Java? –
哦,我很抱歉...是的,我用java .. –
你確定日期和VOLT部分之間沒有空格嗎? – bsd