我遇到了java split
的问题,我想拆分一个字符串,该字符串用制表符分隔:
String test = "1\t2\t\t4\t5";
String[] testArray = test.split("\\t+");
testArray的内容是:
1
2
4
5
但我需要在我的数组中关注以下内容:
1
2
4
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]);
}
}