拆分这个字符串,我的代码怎么了?

时间:2013-11-07 20:54:54

标签: java string split

这是一个初学者课程,所以可能有一个更简单的方法,但有人可以看看我的代码并告诉我为什么它不会拆分最后一个字符串并打印它?我前两次成功分裂了它。

////////////////////////////////////         String line =“user = Abby& topic = 0& message = I + not + wait + for + + snow。”;

    String[] parts = line.split("&"); //split&
    String part1 = parts[0]; // user=Abby 
    String part2 = parts[1];//  topic=0
    String part3 = parts[2];//  message=I+cannotwaitforthesnow

    String[] user = part1.split("=");  //Split USER=Abby
    String user1 = user[0]; // user
    String user2 = user[1]; //  Abby

    String[] topic = part2.split("=");  //split topi=0
    String topic1 = topic[0]; // Topic
    String topic2 = topic[1]; // 0

    String[] text = part3.split("="); //split message=iasd
    String text1 = text[0]; // message
    String text2 = text[1]; // I+cannot+wait+for+the+snow


    String[] message = text2.split("+"); //split I+cannot+wait+for+the+snow.
    String message1 = message[0];//I
    String message2 = message[1];//cannot
    String message3 = message[2];//wait
    String message4 = message[3];//for
    String message5 = message[4];//the
    String message6 = message[5];//snow.


    output.println("This is the input that the client sent: ");

    System.out.println(user2);
    System.out.println(topic1 + topic2);
    System.out.println(message1 + message2 + message3 + message4 + message5 + message6);

//////////////////////

所以它成功运作,但是当我在结尾处添加了拆分消息时,它没有拆分和打印,只是空白。有谁告诉我为什么?

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

Javadocs说

  

public String [] split(String regex)

     

围绕匹配拆分此字符串   给定的正则表达式。

+是正则表达式中的保留字符,因此您需要将其转义。

答案 1 :(得分:0)

你应该试试

String[] message = text2.split("\\+");

在java中,'+'是一个保留字符,您应该使用'\'对其进行转义,以便在此上下文中使用它