例如:
a a 0 12 4
b b 0 29
a c 0 3 b 87 12
z y ab 81 43我要5号栏目。
因为csv文件有字符串标记器,用",“分隔。可能有一些字段为空,这些字段未计入tokens.So。我没有在具有相同令牌号的同一列中获取字段。
发布于 2010-10-21 15:23:06
尝试使用更多经过测试的代码来解析CSV文件,比如http://opencsv.sourceforge.net/。
发布于 2010-10-21 14:44:40
做了很多假设。对于您应该执行的每一行:
String myString;
String[] stringArray = testString.split(",");//To give us a nice indexable format
if(stringArray.length > 6) //Stops us from indexing out of bounds
{
myString = stringArray[5]; //Because we want the 5th column
}我假设您要查找的是第5列,而不是从左开始的第5列,因为这将是列索引4。(因为数组是从0开始的)
我不再是一名Java程序员了,所以如果有什么问题,请原谅。这在c#中是可行的
发布于 2010-10-21 14:52:22
您的数据似乎是以制表符分隔的。在这种情况下,下面的代码应该可以:
import java.io.*;
import java.util.*;
class Main {
public static void main(String... args) throws FileNotFoundException {
Scanner s = new Scanner(new File("data.txt"));
while (s.hasNextLine()) {
String line = s.nextLine();
String[] cols = line.split("\t");
System.out.println(cols[5]);
//System.out.println(Arrays.toString(cols));
}
}
}如果数据包含以下(制表符分隔)行
a a 0 12 4
b b 0 29
a c 0 3 b 87 12
z y ab 81 43 您将从上面的程序中获得以下输出:
12
29
87
43https://stackoverflow.com/questions/3984865
复制相似问题