如何在java中拆分数组中的字符串?
我已成功地将文件中的字符串放入数组。现在我想从数组中分割字符串,以便创建搜索。 这是文件文本模式 file.txt如何在java中拆分数组中的字符串?,java,Java,我已成功地将文件中的字符串放入数组。现在我想从数组中分割字符串,以便创建搜索。 这是文件文本模式 file.txt student ID : 1 student name: dell student id :2 student name:kelly 我的逻辑是: 1从文件中获取字符串并放入数组,即数组[0]包含学生ID:1,[1]包含学生姓名:dell 2现在将当前阵列拆分为其他阵列 现在,任何人请告诉我,我应该做什么,以使数组数据像这样 array[0] = student ID arra
student ID : 1
student name: dell
student id :2
student name:kelly
我的逻辑是:
1从文件中获取字符串并放入数组,即数组[0]包含学生ID:1,[1]包含学生姓名:dell
2现在将当前阵列拆分为其他阵列
现在,任何人请告诉我,我应该做什么,以使数组数据像这样
array[0] = student ID
array[1] = 1
array[2] =dell
array[3] = student ID
array[4]= 2
array[5] = kelly
.
.
.
我应该在代码中做什么
BufferedReader br = new BufferedReader(new FileReader(new File("file.txt")));
String line = br.readLine();
List<String> list = new ArrayList<String>();
while(line != null)
{
list.add(line); // add lines in list
line = br.readLine(); // read next line
}
// String[] stringArr= line.split(" : ");
String [] stringArr= list.toArray(new String[0]);
list.add(stringArr[0]);
System.out.println(stringArr[1]);
// System.out.print(stringArr[2]);
}
字符串[]myarray=a[0]。拆分: 字符串[]myarray2=a[1]。拆分: 数组[0]=myarray[0] 数组[1]=myarray[1] 数组[2]=myarray2[1] 它应该可以工作。替换list.addline;在while循环中使用
for (String token : line.split(":")) { // Splitting each line with ':'
if (!token.trim().equals("student name")) { // Adding token to list conditionally.
list.add(token);
}
}
然后可以轻松调用list.toArray方法将列表转换为数组
祝你好运。为什么要使用两个数组?如果您的文件是a.txt,并且希望执行此操作,则只需使用:as分隔符char并使用标记器,以每4个标记中的第三个标记释放字段学生名:
File file=new File("a.txt");
try {
Scanner scanner = new Scanner(file);
String text="";
while (scanner.hasNextLine())text+=scanner.nextLine()+":";
scanner.close();
StringTokenizer a=new StringTokenizer(text,":");
List<String> arr=new ArrayList<String>();
for(int i=2;a.hasMoreTokens();i++){ //starts from 2 because discharge the third every 4 tokens.
if(i%4==0)a.nextToken();
else arr.add(a.nextToken());
}
String[] array=(String[])arr.toArray();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
希望能有所帮助。看看java.lang.String.Split,因为您是专门查找数组信息的,这不是答案,但您的设计似乎会从使用映射中受益。每个键、值对都是一个id、名称,我已经放置了代码。也许你们现在可以为我的问题提供解决方案如果你使用Scanner类你可以使用useDelimiter方法:String[]a=null;字符串[]myaray=a[0]。拆分:;给我一个错误????有什么想法或者应该粘贴代码吗?当你编辑你的问题时,我正在写,所以我指的是你问题中a点的数组哦,对不起。我还关注stack Form严格规定的语言风格别担心。只是当你添加新代码时,我没有刷新页面,所以我没有阅读。非常感谢各位,也感谢其他人解决了我的问题很高兴知道这有帮助。