2010-04-05 9 views
5

채팅 애플릿을 디자인하고 있습니다. 이 경우 사용자는 자신의 이름을 다른 사용자에게 보내는 메시지의 시작 부분에 추가합니다. 다른 사용자의 창에서 해당 문자열에서 추가 된 사용자 이름을 검색하려고합니다. 어떻게해야합니까? 사용자가 보낸 메시지는 다음과 같습니다.자바에서 문자열의 일부를 검색하는 방법은 무엇입니까?

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 상수 이름에 "_"이 표시됩니다.

+2

말하기 ... 당신은's'을 넣어 난 당신이'final_msg' – Powerlord

+0

좋은 캐치, 편집 : +1 –

6

split을 사용하고 최대 한도를 부여 할 수 있습니다. 예 : 변수 이름의 final_msg.split(":", 2)[0]

+1

+1을 의미 가정 여기서 쉽게이기 때문에 그것은 매우 좋은 제안입니다 맞아. –

+0

이것은 다른 제안보다 훨씬 쉽습니다. 나중에 쉽게 읽을 수 있습니다. – Joel

관련 문제