2009-09-03 16 views

cevap

5

dize dizisi ederek char dizisi bahsediyorsan:

public class Test 
{ 
    public static void main(String[] args) 
    { 
     String test = "aabbab "; 
     char[] t = test.toCharArray(); 

     for(char c : t) 
      System.out.println(c);  

     System.out.println("The end!");  
    } 
} 

Değilse, String.split() fonksiyon

olanlar String.split örneklere bakın dize bir diziye bir dize dönüştürmek olabilir

/* String to split. */ 
String str = "one-two-three"; 
String[] temp; 

/* delimiter */ 
String delimiter = "-"; 
/* given string will be split by the argument delimiter provided. */ 
temp = str.split(delimiter); 
/* print substrings */ 
for(int i =0; i < temp.length ; i++) 
    System.out.println(temp[i]); 

his answer numaralı telefondan Joachim tarafından önerilen input.split("(?!^)") temel bilgiler:

  • bir '?!' sıfır genişliği negatif ileri yönlü
  • bir Anchor olarak şapka '^' normal ifade deseni

herhangi uygulanır dize başlangıç ​​eşleştirmek için (Lookaround bakınız) İlk olmayan karakter bölünecek. Boş bir dize bölünmeyecek, ancak boş bir dizi döndürecektir.

+1

bir dizi karakter dizisi değil, bir dizi dizgi değil – Chii

+0

@ Chii: true, her iki sonucu şimdi gösterdim. char [] 've' String [] ' – VonC

+0

çok iyi bir örnek. – Zaki

0

String.split (dize regex) kullanabilirsiniz:

String input = "aabbab"; 
String[] parts = input.split("(?!^)"); 
+1

Her karakter bir ayırıcı olduğundan, hiçbir veri veri olmayacak, böylece boş bir dizi elde edeceksiniz. –

+0

Siz haklısınız. Regex'in daha iyi. –

+0

Teşekkürler, bunun bölünmüş olarak kullanılabildiğini, ancak neden bununla karıştığını bilmiyor musunuz?! ^? çünkü bir dizede o var mı? – gingergeek

21
String[] result = input.split("(?!^)"); 

bu dize başında öncesinde olmayan tüm boş Strings giriş Dize bölünür neyi.

+0

Teşekkürler çocuklar sihir gibi çalışır.Cool – gingergeek

+1

Good regex, +1. – VonC

+0

Yaptığımda. Dize testi = "Bu bir test"; ve sonra dize [] test2 = test.split ("(?!)^) ") Dizi sadece ilk kelimeden karakterleri tutar ..? –

2

"aabbab" .toCharArray(); ? Hangi bir dizi chars dönecek. Veya sonuçta oluşan dizinin tek karakterli dize nesneleri içermesini istiyor musunuz?

15
String x = "stackoverflow"; 
String [] y = x.split(""); 
İlgili konular