如何检查字符串是否包含\n或新行字符?
word.contains("\\n")
word.contains("\n")
Run Code Online (Sandbox Code Playgroud)
cor*_*iKa 37
如果字符串是在同一个程序中构建的,我建议使用它:
String newline = System.getProperty("line.separator");
boolean hasNewline = word.contains(newline);
Run Code Online (Sandbox Code Playgroud)
但是如果你打算使用\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"));
}
}
Run Code Online (Sandbox Code Playgroud)
导致
true
false
false
false
Run Code Online (Sandbox Code Playgroud)
在回应你的评论:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
结果是
6
test
.
7
test
.
Run Code Online (Sandbox Code Playgroud)
为了便于携带,你真的应该做这样的事情:
public static final String NEW_LINE = System.getProperty("line.separator")
.
.
.
word.contains(NEW_LINE);
Run Code Online (Sandbox Code Playgroud)
除非你绝对确定这"\n"
是你想要的.