如何在将内容粘贴到Excel文件时从字符串中删除回车符

cha*_*thu 9 java excel carriage-return

将Java代码生成的内容(或文本)粘贴到excel时出现问题.问题是我的Java代码生成一个包含多行的String,即包含换行符(\n).当我尝试复制此内容并将其粘贴到Excel文件中时,我得到一个带方框符号的多行文本.我开始知道Windows用于\r\n换行而不仅仅是\n.我试图替换我\n\r\n并粘贴生成的文本,但我在Excel文件中得到相同的方框.这是我的示例代码:

      String   myString = "a1\nb1";
      String   tmpString =myString.replace("\n","\r\n");
      System.out.println( "Original = " +"\""+myString+"\"");
      System.out.println( "Result   = " +"\""+tmpString+"\"");
Run Code Online (Sandbox Code Playgroud)

我用""来包装文本.当我尝试在Excel中粘贴tmpstring时,我得到了方框.如何删除单元格中多行的框?

kdg*_*ory 42

你想要回车/换行吗,或者不是吗?你的标题说没有,你的代码在字符串有换行符时显式添加回车符.如果你想摆脱两者,使用String.replaceAll(),它采用正则表达式:

public static void main(String[] argv)
throws Exception
{
    String s1 = "this\r\nis a test";
    String s2 = s1.replaceAll("[\n\r]", "");
    System.out.println(s2);
} 
Run Code Online (Sandbox Code Playgroud)

此示例查找任何字符的出现,并删除它们.您可能希望查找字符序列并替换为空格,但我会将其留给您:查看doc for java.util.regex.Pattern.

我怀疑"盒子"是其他角色,而不是返回或换行符.