开发者

Unable to split a string

I have a string

Mr praneel PIDIKITI

When I use this regular expression

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

instead of getting three parts I am only getting two, Mr and Praneel PIDIKITI.

I am unable to split the second string. Does anyone know what could be the pr开发者_如何学JAVAoblem?

I even used split(" ");.

The problem is I used replaceAll("\\<.*?>", " ").trim(); to convert html into this string and then I am using name.split("\\s+"); to get the name value.

I think it must be something other than space (some special character).


Your code should work. I suspect your input. There could be a non printable junk character between Praneel and PIDIKITI. For example,

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

Are you sure that there is no junk character between Praneel and PIDIKITI?

Remove non printable characters like this:

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


If you're parsing HTML, may I recommend JSoup? Its a good HTML parser for java

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜