我正在逐行读取制表符分隔的文本文件,这非常混乱并试图从中获取唯一的列名称。
问题是它包含选项卡作为字段分隔符,但有些列名称在其名称中有空格!我正在使用
String[] cols = line.split("\\t");
似乎无法正常工作,因为在某些情况下它会将空格作为分隔符!使用正则表达式是一个很好的解决方案?如果是的话,你可以建议正则表达式从字符串中删除空格但保留标签吗?
数据如下:
Sever ID Name
12221 zxsz
答案 0 :(得分:1)
字符串文字中的Tab只是“\ t”。 “\\ t”是字面反斜杠,后跟“t”。话虽如此,这两种方法对我都有用:
public class Scratch2 {
public static void main(String[] args) {
String welk = "anna one\tanna two\tanna three";
System.out.println("\\t");
String[] annas = welk.split("\t");
for (String anna : annas) {
System.out.println(anna);
}
System.out.println("\\\\t");
annas = welk.split("\\t");
for (String anna : annas) {
System.out.println(anna);
}
}
}
输出:
\t
anna one
anna two
anna three
\\t
anna one
anna two
anna three
最简单的解释是您的输入字符串不包含您认为他们所做的空格字符。