java - 如何使用 "\n"在 java 中拆分字符串

标签 java string

我正在使用这样的命令行输入字符串:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
     String line = br.readLine();

我想拆分这个字符串:

String line = "int t; //variable t  
t->a = 0; //t->a does something  
return 0;"

像这样:

String[] arr = line.split("\n");  
arr[0] = "int t; //variable t";  
arr[1] = "t->a=0; //t->a does something";  
arr[2] = "return 0";  

但是当我运行我的 java 程序时,split 函数只返回这个:

arr[0] = "int t; //variable t";

它没有返回我上面提到的其他两个字符串,为什么会这样,请解释。

最佳答案

readLine() 方法将读取输入直到输入换行符。该换行符是 "\n"。因此,它永远不会读取由 "\n" 分隔的 String

一个解决方案:

您可以使用 while 循环读取行并将它们存储在 ArrayList 中:

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    List<String> lines = new ArrayList<String>();
    String line;

    while ((line = br.readLine()) != null) {
        lines.add(line);
    }

    for (String s : lines) {
        System.out.println(s);
    }

要停止 while,您必须按 Ctrl + z(或 Ctrl + d 在 UNIX 中,如果我没记错的话)。

关于java - 如何使用 "\n"在 java 中拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22602113/

相关文章:

php - 当output_buffering打开时回显多个参数

java - 自定义 ListView onItemClickListener

Java ResultSet 为空但实际上不应该为空

java - Spring 注入(inject) Guava 缓存

使用管道 '|'使用多个分隔符分割Java字符串

JavaScript 字符串作为数组 : Read but no Write

java - 为什么我会收到此 JspException?

java - 创建一个对象

python - 将元组添加到列表中而不让它们获得引号?

java - 多个字符串和条件匹配?