删除文本行中选项卡以外的空格

时间:2014-06-30 16:22:26

标签: java

我正在逐行读取制表符分隔的文本文件,这非常混乱并试图从中获取唯一的列名称。

问题是它包含选项卡作为字段分隔符,但有些列名称在其名称中有空格!我正在使用

String[] cols = line.split("\\t");

似乎无法正常工作,因为在某些情况下它会将空格作为分隔符!使用正则表达式是一个很好的解决方案?如果是的话,你可以建议正则表达式从字符串中删除空格但保留标签吗?

数据如下:

Sever ID    Name
12221       zxsz

1 个答案:

答案 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

最简单的解释是您的输入字符串不包含您认为他们所做的空格字符。