Java 创建管道分隔字符串
我试图通过以下方式创建管道分隔字符串Java 创建管道分隔字符串,java,Java,我试图通过以下方式创建管道分隔字符串 strBuf.append(str[0]); strBuf.append("\\|"); 结果是: ABC\ DEF\ GHI 预期结果是: ABC|DEF|GHI 即使用双斜杠转义,我到底做错了什么。您是否尝试过不转义|字符 strBuf.append(str[0]); strBuf.append("|"); 这里不需要使用espace序列。简单做法: strBuf.append("|"); 例如: 如果您使用的是java 8: String[]
strBuf.append(str[0]);
strBuf.append("\\|");
结果是:
ABC\ DEF\ GHI
预期结果是:
ABC|DEF|GHI
即使用双斜杠转义,我到底做错了什么。您是否尝试过不转义
|
字符
strBuf.append(str[0]);
strBuf.append("|");
这里不需要使用espace序列。简单做法:
strBuf.append("|");
例如:
如果您使用的是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]
?str[0]是任意字符串。那么您就不一致了。显示生成您发布的输出的确切代码,而不是“任何字符串”。append(\\\\\”)
将附加一个\和一个|,这意味着它将生成ABC\\\\\\\\\\\\\GHI
,而不是显示的带有空格的输出。确切的代码在哪里?它以ABC DEF GHI
的形式给出输出,与…一起使用时StringBuffer@UtkarshSaraf如果管道字符转换/显示为空格,则在其他位置会发生这种情况。追加(“|”)将在字符串中插入一个管道字符。我使用的是StringBuffer,它会有什么不同吗?@UtkarshSaraf否,但除非需要线程安全,否则请使用StringBuilder
。
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());