带有2个选项卡的Java Split String

时间:2014-11-20 12:06:57

标签: java split

我遇到了java split的问题,我想拆分一个字符串,该字符串用制表符分隔:

String test = "1\t2\t\t4\t5";
String[] testArray = test.split("\\t+");

testArray的内容是:

1
2
4
5

但我需要在我的数组中关注以下内容:

1
2

4
5

5 个答案:

答案 0 :(得分:4)

\\t+表示“一个或多个”,因此,它会同时匹配两个标签。请尝试仅使用\\t替换它。

答案 1 :(得分:3)

test.split("\\t+");

+表示:在一个或更多标签处拆分。

如果你想在一个标签上分开,你应该做

test.split("\\t");

答案 2 :(得分:2)

只需删除正则表达式中的+。

String test = "1   2      4   5";
String[] testArray = test.split("\\t");

答案 3 :(得分:0)

两个标签之间没有字符。这就是为什么你没有将它作为数组中的元素。尝试在两个选项卡之间插入一个空格并运行。如果您仍然坚持要获得额外空间,请使用split("\\t")

答案 4 :(得分:-1)

试试此代码

public class Test2 {

    public static void main(String args[]){
        String test = "1   2      4   5";
        String[] testArray = test.split("\\t");

        for(int i=0;i<testArray.length;i++){
            System.out.println(testArray[i]);
        }
    }