无法拆分字符串

时间:2011-03-21 11:14:37

标签: java split nsxmlparser

我有一个字符串

  

praneel PIDIKITI先生

当我使用这个正则表达式时

 String[] nameParts = name.split("\\s+");

而不是获得三个部分我只得到两个,MrPraneel PIDIKITI

我无法拆分第二个字符串。有谁知道可能是什么问题?

我甚至使用过split(" ");

问题是我使用replaceAll("\\<.*?>", " ").trim();将html转换为此字符串,然后我使用name.split("\\s+");获取名称值。

我认为它必须是空间以外的东西(某些特殊字符)。

2 个答案:

答案 0 :(得分:3)

您的代码应该有效。我怀疑你的意见。 Praneel和PIDIKITI之间可能存在不可打印的垃圾字符。例如,

    String name = "Mr praneel" + (char)1 +"PIDIKITI";
    String[] nameParts = name.split("\\s+");
    for(String s : nameParts)
        System.out.println(s);

你确定Praneel和PIDIKITI之间没有垃圾角色吗?

删除不可打印的字符,如下所示:

// remove non printable characters excluding white space characters
  name = name.replaceAll("[^\\p{Print}\\s]","");

答案 1 :(得分:0)

如果您要解析HTML,我可以推荐JSoup吗?它是一个很好的java

HTML解析器