![]() |
大气的苹果 · 嚴重錯誤 C1083 | ...· 2 周前 · |
![]() |
喝醉的小笼包 · QListWidget水平滑动示例_qlis ...· 1 年前 · |
![]() |
讲道义的牛肉面 · Pandas数据帧按日期排序,然后分配字母A ...· 1 年前 · |
![]() |
听话的感冒药 · SpringBoot ...· 1 年前 · |
![]() |
豪爽的冰淇淋 · javascript - ...· 1 年前 · |
我有一个字符串,它包含一些文本,后跟一个空行。最好的方法是保留部分文本,但去掉末尾的空格换行符?
使用
String.trim()
方法去掉空格(空格、换行符等)从字符串的开头和结尾开始。
String trimmedString = myString.trim();
String.replaceAll("[\n\r]", "");
String text = readFileAsString("textfile.txt");
text = text.replace("\n", "").replace("\r", "");
如果您的字符串可能为
null
,请考虑使用
StringUtils.trim()
-
String.trim()
的空安全版本。
此Java代码执行的操作与问题标题中的要求完全相同,即“从字符串的开头和结尾删除换行符-java”:
String.replaceAll("^[\n\r]", "").replaceAll("[\n\r]$", "")
仅从行尾删除换行符:
String.replaceAll("[\n\r]$", "")
仅从行首删除换行符:
String.replaceAll("^[\n\r]", "")
尝尝这个
function replaceNewLine(str) {
return str.replace(/[\n\r]/g, "");
}
另一个优雅的解决方案。
String myString = "\nLogbasex\n";
myString = org.apache.commons.lang3.StringUtils.strip(myString, "\n");
对于在处理不同的换行符时寻找问题答案的其他人:
string.replaceAll("(\n|\r|\r\n)$", ""); // Java 7
string.replaceAll("\\R$", ""); // Java 8
这应该完全删除最后一个换行符,并保留字符串中的所有其他空格,并适用于Unix (\n)、Windows (\r\n)和旧的Mac (\r)换行符:
https://stackoverflow.com/a/20056634
、
https://stackoverflow.com/a/49791415
。
"\\R"
是在Java8的Pattern类中引入的匹配器:
https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
这将通过以下测试:
// Windows:
value = "\r\n test \r\n value \r\n";
assertEquals("\r\n test \r\n value ", value.replaceAll("\\R$", ""));
// Unix: