【问题标题】:how to use StringTokenizer in java for next line?如何在java中使用StringTokenizer进行下一行?
【发布时间】:2018-03-23 04:34:40
【问题描述】:

假设我有一个连续的字符串名称作为 temp。字符串被新行分割,如何在其上使用 StringTokenizer 并分别获取每一行?

String temp = "I

am

a 

college

kid";

谢谢

【问题讨论】:

  • 来自JavaDocs "StringTokenizer 是一个遗留类,出于兼容性原因,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人使用 split 方法String 或 java.util.regex 包代替。”,不过,我也可能建议使用 Scanner
  • 对于很多像这样的基本问题,您的第一件事应该是谷歌这个问题,看看是否有任何相关的答案。
  • 是的,从现在开始我会的。谢谢

标签: java string stringtokenizer


【解决方案1】:
StringTokenizer st = new StringTokenizer(temp,"\n");  
     while (st.hasMoreTokens()) {  
     System.out.println(st.nextToken());  
     }  

将完成这项工作。但是尝试使用字符串类的拆分方法,例如

String lines[] = string.split("\\r?\\n");

【讨论】:

  • _@Manvi 谢谢
  • 这里的 temp 代表什么 @Manvi?
  • temp 是变量保存字符串@AkhilaRajeev
【解决方案2】:
StringTokenizer st = new StringTokenizer(temp,System.lineSeparator());
     while (st.hasMoreTokens()) {
         println(st.nextToken());
     }

【讨论】:

  • 这里应该小心System.lineSeparator()。如果字符串不是来自系统上的某个本地源,它很可能有不同的分隔符。例如,HTTP 换行符总是\r\n,而不是本地系统定义的。
  • @markspace 嘿!感谢您帮助我,这在我的代码中有效,但我需要检查 System.lineSeparator() 是什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 1970-01-01
  • 2021-07-26
  • 1970-01-01
相关资源
最近更新 更多