【发布时间】:2015-04-05 07:57:06
【问题描述】:
我正在从以下格式的文件中读取输入:
a b c d e
每个字母代表一个字符串,并由tab 字符分隔。我正在使用 bufferedreader 读取该行并使用以下方法将其拆分:
String[] splitString= currentLine.split("\t");
其中currentLine 是一个字符串,其中包含由缓冲读取器读取的行。
但是,输入中可能存在b 可能为空白或e 可能为空白的某些情况(请参阅上面的示例输入)。
我希望能够对每个实例执行不同的操作,如下所示:
if (b is blank){
do this
}else if (e is blank) {
do this
}else{
do this
}
但是我想不出一个合适的 if 条件来准确地实现这个功能
欢迎提出建议
编辑:
这是输入的正常形式,前提是没有“空白”
a[tab]b[tab]c[tab]d[tab]e
假设应该在b 的位置现在是空白的,输入将如下所示:
a[tab][tab]c[tab]d[tab]e
【问题讨论】:
-
b 可以为空是什么意思?您是否将输入读取为
abcde(无空格),然后当b 为空白时您正在读取acde,或者您是否使用空格读取它,然后当您读取a c d e时b 为空白?您的问题中的“空白”是什么意思? -
如果你有
x y z,你怎么知道b或e是空白的,或者a和d是空白等等?有很多可能性 -
我已经编辑了 OP 以更好地解释 @OriLentz
-
@fge 你是什么意思?我的编辑是否回答了您的问题?
-
好的,我现在明白了。我已经在下面回答了。我希望这会有所帮助。
标签: java bufferedreader