我想通過以下方式創建管道分隔字符串。創建管道分隔字符串
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