我正在设计一个聊天小程序。在此,用户将他的名字附加到他发送给其他用户的消息的开头。在其他用户的窗口中,我想从该字符串中检索附加的用户名。我怎么做?用户发送的消息如下:
final_msg = user_name + ": " + user_message
因此我想知道如何仅检索user_name字符串。是否有一个函数可以检索到第一个“:”的子字符串?我不想使用final_msg.split(“:”),因为user_message有可能包含“:”,然后它会给我一个字符串数组。
答案 0 :(得分:9)
快速提示:
使用indexOf
方法查找“:”字符的第一个索引,然后执行substring
()调用。
String userName = final_msg.substring(0,final_msg.indexOf(':'));
编辑:
考虑将变量从final_msg
重命名为finalMsg
- 只是因为,这是Java风格。通常,“_”出现在Java常量名称
答案 1 :(得分:6)
您可以使用拆分并给它一个最大限制。即:
final_msg.split(":", 2)[0]