我在字符串中的新行之前有一个空格并且无法删除它(在java中)。 我尝试过以下但没有任何作用:
strToFix = strToFix.trim();
strToFix = strToFix.replace(" \n", "");
strToFix = strToFix.replaceAll("\\s\\n", "");
答案 0 :(得分:3)
myString.replaceAll("[ \t]+(\r\n?|\n)", "$1");
replaceAll
将正则表达式作为参数。 [ \t]
匹配一个或多个空格或制表符。 (\r\n?|\n)
与换行符匹配,并将结果放入$1
。
答案 1 :(得分:1)
我相信你应该尝试这个:
strToFix = strToFix.replace(" \\n", "\n");
编辑:
我在原来的答案中忘记了逃脱。 James.Xu在他的回答中提醒我。
答案 2 :(得分:1)
试试这个:
strToFix = strToFix.replaceAll(“\\ n”,“\ n”);
'\'是正则表达式中的一个特殊字符,你需要使用'\'来逃避它。
答案 3 :(得分:0)
你确定吗?
String s1 = "hi ";
System.out.println("|" + s1.trim() + "|");
String s2 = "hi \n";
System.out.println("|" + s2.trim() + "|");
打印
|hi|
|hi|
答案 4 :(得分:0)
你确定它是一个你试图删除的空间吗?你应该打印字符串字节,看看第一个字节的值实际上是32(十进制)还是20(十六进制)。
答案 5 :(得分:0)
trim()似乎就像你在我的系统上做的那样。这是我使用的代码,也许你想在你的系统上试用它:
public class so5488527 {
public static void main(String [] args)
{
String testString1 = "abc \n";
String testString2 = "def \n";
String testString3 = "ghi \n";
String testString4 = "jkl \n";
testString3 = testString3.trim();
System.out.println(testString1);
System.out.println(testString2.trim());
System.out.println(testString3);
System.out.println(testString4.trim());
}
}