我想通过以下方式创建管道分隔字符串。创建管道分隔字符串
strBuf.append(str[0]);
strBuf.append("\\|");
结果是:
ABC\ DEF\ GHI
预期的结果是:
ABC|DEF|GHI
正是我甚至双斜线逃脱之后做错了什么。
我想通过以下方式创建管道分隔字符串。创建管道分隔字符串
strBuf.append(str[0]);
strBuf.append("\\|");
结果是:
ABC\ DEF\ GHI
预期的结果是:
ABC|DEF|GHI
正是我甚至双斜线逃脱之后做错了什么。
这里没有必要使用espace序列。简单做:
strBuf.append("|");
如:
String abc = "ABC";
String def = "DEF";
String ghi = "GHI";
StringBuilder sb = new StringBuilder();
sb.append(abc);
sb.append("|");
sb.append(def);
sb.append("|");
sb.append(ghi);
System.out.println(sb.toString()); //prints ABC|DEF|GHI
我正在使用StringBuffer,它会有所作为吗? –
@UkkarshSaraf否,但除非您需要它是线程安全的,否则使用'StringBuilder'。 – user1803551
您是否试过不逃避|
角色?
strBuf.append(str[0]);
strBuf.append("|");
当与StringBuffer一起使用时,它将输出作为'ABC DEF GHI'输出 –
@UkkarshSaraf如果管道字符被转换/显示为空格,则发生在其他地方。 'append(“|”)'*将*插入一个管道字符到字符串中。 – Andreas
如果您使用的是Java 8:
String[] s={"ABC","DEF","GHI"};
System.out.println(String.join("|",s));
对Java 7
String abc = "ABC";
String def = "DEF";
String ghi = "GHI";
StringBuilder strBuf=new StringBuilder();
strBuf.append(abc);
strBuf.append("|");
strBuf.append(def);
strBuf.append("|");
strBuf.append(ghi);
System.out.println(strBuf.toString());
为什么你需要逃避'| '?什么是'str [0]'? – user1803551
str [0]是任何字符串。 –
然后你是不一致的。显示产生你发布的输出的确切代码,而不是“任何字符串”。 – user1803551