2014-03-27 2 views
1

문자열이 "thisisanexample"입니다. 이것을 다음과 같이 4 개의 char 배열로 나누고 싶습니다.문자열을 X 문자의 문자열 배열로 분할

group[0]="this" 
group[1]="isan" 
group[2]="exam" 
group[3]="ple" 

어떻게하면됩니까?

편집 :

String str = "thisisanexample"; 
String[] arr = str.split("(?<=\\G.{4})"); 
c.drawText(arr[0], 100, 100, textPaint); 
c.drawText(arr[1], 100, 200, textPaint); 
c.drawText(arr[2], 100, 300, textPaint); 
+2

메서드 하위 문자열과 루프를 사용할 수 있습니다. –

+0

이미 시도한 내용은 무엇입니까? – Averroes

+0

아 좋아! 아마도 이미 일부 코드가 있다고 생각했을 것입니다. – user3316779

답변

7

당신은 매 4 개 문자 후 빈 문자에 분할했습니다. 다음 코드는이 작업을 수행합니다

String str = "thisisanexample"; 
String[] arr = str.split("(?<=\\G.{4})"); 

기본적으로, 앞에는 빈 공간에 분할 - 보기 숨김(?<=...), 어떤 4 자이 적용됩니다. \\G은 regex에게 이전 일치 항목이 끝난 곳과 일치를 시작하도록 지시합니다.

정규식에 약간의 불편 함이 느껴지면 루프를 작성하면 str.length()/4 번 반복됩니다. 각 반복에서 String#substring() 메소드를 사용하여 현재 색인에서 시작하여 4자를 취합니다.

+0

+1 매우 우아한 솔루션입니다. –

+2

@Downvoter 치료 의견. 정확히 무엇이 잘못 되었습니까? –

+0

커다란 도약에서 정규 표현식을 사용하여 문자열을 분할하는 방법을 모르겠습니다. 그런데 나는 downvoter가 아니다) – Averroes

관련 문제