【问题标题】:Could not split the String created from char array using \n无法使用 \n 拆分从 char 数组创建的字符串
【发布时间】:2015-10-27 13:23:41
【问题描述】:

我无法使用\n 拆分从char array 创建的字符串。即使从chars 转换为Stringsplit()stringtokenizer() 也无法拆分具有\n 的字符串。非常感谢您的帮助。

char[] c = new char[]{'H', 'i', '\\', 'n', 'H', 'i'};  //format I get from saxparser

String val = new String(c);

System.out.println("val: "+val); //val: Hi\nHi

System.out.println("isContain: "+val.contains("\n"));  //false
System.out.println("isContain: "+val.contains("\\n")); //true

System.out.println("splitted size: "+val.split("\n").length); //1
System.out.println("splitted size: "+val.split("\\n").length); //1

【问题讨论】:

  • 应该是\\\\n
  • 你试过这个val.split("\\\\n").length吗,因为split使用正则表达式

标签: java arrays saxparser stringtokenizer string-split


【解决方案1】:

更改最后一行以包含以下代码

System.out.println("splitted size: " + val.split("\\\\n").length); // 2

由于 split 使用正则表达式传递 '\n' 不起作用。

【讨论】:

    【解决方案2】:

    使用 ////n;

    char[] c = new char[]{'H', 'i', '\\', 'n', 'H', 'i'};  //format I get from saxparser
    
        String val = new String(c);
    
        System.out.println("val: "+val); //val: Hi\nHi
    
        System.out.println("isContain: "+val.contains("\n"));  //false
        System.out.println("isContain: "+val.contains("\\n")); //true
    
        System.out.println("splitted size: "+val.split("\n").length); //1
        System.out.println("splitted size: "+val.split("\\\\n").length);//2
    

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 2012-10-16
      • 2019-05-17
      • 2019-04-02
      • 2010-11-20
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多