String[] splitUp = line.split("\t");
这是代码,字符串是"John Doe 3.30 23123123"
问题出在Doe的末尾,在3.30之后,这些空间实际上是标签。现在我必须通过选项卡拆分此字符串,并且\ t和\ t不能正常工作。帮助
这是更多代码:
while(scan.hasNextLine()){
String line = scan.nextLine();
String[] splitUp = line.split("\\t");
for(int i = 0; i < splitUp.length; i++){
System.out.println(splitUp[i]);
}
}
我有一个文本文件,它带有标签行。
答案:
如果使用java编译器IntelliJ编辑.txt文件,则它会用相应的空格量替换\ t char,因此您无法检查\ t因为它不存在。你必须在常规文本编辑器中编辑它,一切都会很好。
答案 0 :(得分:0)
在java中,您需要\\t
来转义\
。
以下代码有效:
String test="asd asd asd xsdv";
String[]t=test.split("\\t");
for(String st : t){
System.out.println(st);
}
输出是:
asd
asd
asd xsdv
答案 1 :(得分:0)
您可以使用它然后保存每个组=&gt;阵列
import java.util.regex.Matcher;
import java.util.regex.Pattern;
final String regex = "(\\w+\\s\\w+|\\d+.\\d+)";
final String string = "John Doe 3.30 23123123";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
输入:
John Doe 3.30 23123123
输出:
John Doe
3.30
23123123