2010-04-05 56 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

相關問題