2010-04-05 30 views
5

Tôi đang thiết kế một ứng dụng trò chuyện. Trong trường hợp này, người dùng sẽ thêm tên của anh ấy vào đầu thư mà anh ấy gửi cho người dùng khác. Trong cửa sổ của người dùng khác, tôi muốn truy xuất tên người dùng được thêm vào từ chuỗi đó. Làm thế nào để làm điều đó? Thông báo được gửi bởi người dùng như sau:làm thế nào để lấy một phần của một chuỗi trong java?

final_msg = user_name + ": " + user_message 

Do đó tôi muốn biết cách chỉ truy xuất chuỗi user_name. Có chức năng nào có thể truy xuất chuỗi con tối đa ":" đầu tiên không? Tôi không muốn sử dụng final_msg.split (":"), bởi vì có một khả năng mà user_message chứa ":", sau đó sẽ cung cấp cho tôi một mảng các chuỗi.

Trả lời

9

nhanh tip:

sử dụng indexOf phương pháp để tìm chỉ số đầu tiên của ':' nhân vật, sau đó làm một() gọi substring.

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

Edit: xem xét đổi tên biến của bạn final_msg-finalMsg - chỉ vì, đó là phong cách Java. Thông thường "_" xuất hiện trong Java Tên không đổi

+2

Phát biểu tên biến ... bạn đặt 's' nơi tôi giả định bạn có nghĩa là' final_msg' – Powerlord

+0

Bắt tốt, chỉnh sửa :) và +1 –

6

Bạn có thể sử dụng chia nhỏ và cho nó giới hạn tối đa. tức là: final_msg.split(":", 2)[0]

+1

+1: Đó là một gợi ý rất hay vì nó rất dễ để đi đúng. –

+0

Điều này dễ hơn nhiều so với đề xuất khác. Chưa kể dễ đọc hơn sau này. – Joel

Các vấn đề liên quan