检查字符串是否包含\ n Java

如何检查字符串是否包含\ n或新行字符?

word.contains("\\n") word.contains("\n") 

如果字符串是在同一个程序中构建的,我建议使用它:

 String newline = System.getProperty("line.separator"); boolean hasNewline = word.contains(newline); 

但是,如果你打算使用\ n,这个驱动程序说明了该做什么:

 class NewLineTest { public static void main(String[] args) { String hasNewline = "this has a newline\n."; String noNewline = "this doesn't"; System.out.println(hasNewline.contains("\n")); System.out.println(hasNewline.contains("\\n")); System.out.println(noNewline.contains("\n")); System.out.println(noNewline.contains("\\n")); } } 

导致了

 true false false false 

在回应你的评论:

 class NewLineTest { public static void main(String[] args) { String word = "test\n."; System.out.println(word.length()); System.out.println(word); word = word.replace("\n","\n "); System.out.println(word.length()); System.out.println(word); } } 

结果是

 6 test . 7 test . 

为了便于携带,你真的应该这样做:

 public static final String NEW_LINE = System.getProperty("line.separator") . . . word.contains(NEW_LINE); 

除非你绝对确定"\n"是你想要的。

第二个:

 word.contains("\n");