我有一个字符串"4612 CMP Computer Science Java II CMP110 A- 010"
,它是一个课程。我需要“计算机科学”和"Java II“的知识。我认为最简单的方法是将它拆分为一个包含制表符的数组。
在4612之后是一个标签,以及在Science和Java之间。
我想把它拆分成像这样的数组:
string[0] = 4612
string[1] = " "
string[2] = CMP
string[3] = Computer
string[4] = Science
string[5] = " "
string[6] = Java
string[7] = II
string[8] = CMP110
string[9] = A-
string[10] = 010
发布于 2016-11-13 05:38:02
由于课程字符串似乎具有定义良好的格式,因此您还可以使用正则表达式来提取相关信息,例如:
final String course = "4612\tCMP Computer Science\tJava II CMP110 A- 010";
final Pattern pattern = Pattern.compile("^\\d+\tCMP\\s+([^\t]+)\t(.+?)\\s+CMP.*$");
final Matcher matcher = pattern.matcher(course);
if (matcher.matches()) {
System.out.println("Course name: " + matcher.group(1) + " " + matcher.group(2));
}
发布于 2016-11-13 05:26:24
使用:
String[] subject = line.split("\t",line.length());
将允许我推导出我需要的东西。
https://stackoverflow.com/questions/40567737
复制相似问题