2014-04-25 2 views
-2

이 텍스트를 "..1..3"파일에서 읽었으며 split()을 사용하여 분할하려면 문자열 [] = { " .", ".", "1"...}; 그러나 어떤 이유로 든 3을 풀고 ""을 얻습니다.문자열을 분리하지 않고 문자열을 분할하는 방법

+6

어떻게 당신이해야합니까? –

+0

그리고 좀 더 구체적으로 입력/원하는 출력을 할 수 있습니까? –

+0

Java 8을 사용하면'split ("")'이 정상적으로 작동합니다. –

답변

1

split() 함수를 사용해야합니다. 그것이 당신이 알아 낸 것입니다. 그러나 당신은이 방법으로 수행 할 수 있습니다

"cat".split("(?!^)"); 

그것은이 생성됩니다 :

array ["c", "a", "t"] 

출처 : Split string into array of character strings

+0

감사합니다, ("(?! ^)") 부분은 내가 찾고있는 부분입니다. :). 다시 감사합니다 – user3541869

0

당신이 문자로 분할 문자열을 원하는 경우에, 왜

를 사용하지 않는
char[] chars = mystring.toCharArray(); 

?

String[] strings = new String[chars.length]; 
for (int i = 0; i < chars.length; ++i) { 
    strings[i] = String.valueOf(chars[i]); 
} 
+0

그는 이미 split()을 사용하여 분할하고 싶다고 언급했습니다 –

+1

하지만 왜? 나는 정규식 기계를 그렇게 단순한 작업으로 이끌어 낼 시점이 없다. – Danstahr

+0

+1, IMO, 이것은 문자열 배열 대신 char 배열을 얻는 것을 제외하고는 좋은 대안입니다. –

0

이 시도 :

당신은 정말 추가, 캐릭터 라인의 배열로 필요한 경우

String s = "..1..3"; 
String[] trueResult = new String[s.length()]; 
System.arraycopy(s.split(""), 1, trueResult, 0, s.length()); 
System.out.print(Arrays.toString(trueResult)); 

출력 :...

[, 1, .3]

0

,546,방법은 String에 당신이 당신의 파일을 읽을 방법 확인, 아무것도 잃지 않는다 (문자 인코딩을 돌볼하고, 잊지하는 마지막 char)

너의

+1

구분 기호를 버립니다. – Danstahr

1
당신이이 방법을 시도 할 수 있습니다

:

public static void main(String[] args) { 
    String sample = "Split me if you can"; 
    String[] parts = Arrays.copyOfRange(sample.split(""), 1, sample.length() + 1); 
} 

출력 :

[S, p, l, i, t, , m, e, , i, f, , y, o, u, , c, a, n] 
관련 문제