::新手位置::具体数量阅读文本文件高达字符
我已经具有文本文件中的文本一样
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