2010-04-05 38 views
5

我正在设计一个聊天小程序。在这种情况下,用户会将他的姓名附加到他发送给其他用户的消息的开头。在其他用户的窗口中,我想从该字符串中检索附加的用户名。我怎么做?由用户发送的消息如下:如何检索java中的一部分字符串?

final_msg = user_name + ": " + user_message 

因此,我想知道如何检索user_name字符串只。有没有一个函数可以检索一个子串直到第一个“:”?我不想使用final_msg.split(“:”),因为有一种可能性,user_message包含“:”,然后将给我一个字符串数组。

回答

9

快速提示:

使用indexOf方法找到的第一索引 ':' 字符,然后做一个substring()调用。

String userName = final_msg.substring(0,final_msg.indexOf(':')); 

编辑: 考虑从final_msgfinalMsg重命名你的变量 - 只因为,这是Java的风格。通常在Java中出现“_”常数名称

+2

变量名说起......你把's',我假设你的意思'final_msg' – Powerlord 2010-04-05 17:39:23

+0

良好的渔获,编辑:)和+1 +1 – 2010-04-05 18:42:42

6

您可以使用split并给它一个最大限制。即: final_msg.split(":", 2)[0]

+1

:这是一个很好的建议,因为它很容易得到正确的。 – 2010-04-05 17:47:03

+0

这比其他建议要容易得多。更不用说更容易阅读以后。 – Joel 2010-04-05 18:45:10

相关问题