根据这个问题,是否有更好/更强大的方法来检查String是否在Java中包含来自任何平台的换行符,或者是否低于建议的方法?
if (myString.contains("\n") || myString.contains("\r") || myString.contains("\r\n")) {
}
答案 0 :(得分:1)
对于西式语言,在字符串中查找'\r'
和'\n'
至少应该适用于Windows,Unix和旧MAC。如果你想支持现代Apple(OS X以上版本),Linux和Windows机器,你实际上可以只查找'\n'
。
如果您希望支持从垃圾堆中挖出的机器may have to look for other characters as well。此外,Asian languages may not use line breaks or use other whitespace as replacement character。
如果可能适用,请注意格式化文本的其他方法。如果可以假设HTML,<br>
也可能表示换行符。
答案 1 :(得分:-1)
也许这是解决您问题的通用解决方案:
if (myString.contains(System.getProperty("line.separator"))) {
//your code here
}
它使用系统属性来查找用户系统上使用的行分隔符。