gpt4 book ai didi

java - String.split() - 如何区分制表符分隔值和逗号分隔值?

转载 作者:行者123 更新时间:2023-12-01 09:36:03 25 4
gpt4 key购买 nike

我正在使用 Java 从文件中收集列数据类型。有些文件以制表符分隔,有些文件以逗号分隔。附带以下代码:

String[] valuesFromColumns = null;
if (line.split("\\s*\\t\\s*") != null) {

System.out.println("Separating by tab: " + line);
valuesFromColumns = line.split("\\s*\\t\\s*");

} else if(line.split("\\s*,\\s*")!=null) {
System.out.println("Separating by comma." + line);
valuesFromColumns = line.split("\\s*,\\s*");
}

for(String s : valuesFromColumns) {
this.extractDataTypeFromTheLine(s);
}

输出不是预期的:它将逗号分隔的文件误认为是制表符分隔的值。我可能做错了什么?这是输出:

/Users/macbook/open_data_us/GPL94-tbl-1.txt
Separating by tab: 67023_at AI342132 Homo sapiens Mar 11, 2009 Consensus sequence GenBank Cluster Incl. AI342132:qt26c08.x1 Homo sapiens cDNA, 3' end /clone=IMAGE-1949102 /clone_end=3' /gb=AI342132 /gi=4079059 /ug=Hs.156499 /len=414 AI342132
String
String
String
...
/Users/macbook/open_data_us/Performance Metrics - Transportation.csv
Separating by tab: Alley Pot Hole,06/06/2011,Week,10,1.65,3,06/06/2011 - 06/12/2011
String
/Users/macbook/open_data_us/redditSubmissions.csv
Separating by tab: 0,1333178161,2012-03-31T14:16:01.093638-07:00,Expectation,35,rmun4,29,GifSound,6,1333203361,23,3,Gangsta_Raper
String

最佳答案

当正则表达式找不到任何匹配项时,line.split 不会返回 null。相反,它返回一个数组,其中整行作为第一个也是唯一的元素。

因此第一个条件 a 始终为真。

关于java - String.split() - 如何区分制表符分隔值和逗号分隔值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38917653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com