Dize uzunluğu nedenle eşit bölünmüş Java | Netgez.com
SORU
21 EYLÜL 2010, Salı


Dize uzunluğu nedenle eşit bölünmüş Java

Dize bölmek nasıl 2* *Java ile eşit büyüklükte alt dizeleri için. Örn. 4 "Thequickbrownfoxjumps" eşit boyutta çıktı vermelidir.

["Theq","uick","brow","nfox","jump","s"]

Benzer Soru:

Split string into equal-length substrings in Scala

CEVAP
21 EYLÜL 2010, Salı


Oldukça kolay kaba kuvvet ile bunu yapmak için:

public static List<String> splitEqually(String text, int size) {
    // Give the list the right capacity to start with. You could use an array
    // instead if you wanted.
    List<String> ret = new ArrayList<String>((text.length()   size - 1) / size);

    for (int start = 0; start < text.length(); start  = size) {
        ret.add(text.substring(start, Math.min(text.length(), start   size)));
    }
    return ret;
}

Bunun için bir düzenli ifade kullanarak değer olduğunu sanmıyorum.

EDİT: bir düzenli ifade kullanarak: Benim akıl

  • Bu gerçek yukarıdaki diyagram desen eÅŸleÅŸtirme hiçbirini kullanmıyor. Sadece zaman ilerliyor.
  • Benşüpheliyukarıdaki çoÄŸu durumda bir önemi olmayacak olsa da daha verimli olacaktır
  • EÄŸer farklı yerlerde deÄŸiÅŸken boyutları kullanmak istiyorsanız, ya tekrar ya da bir yardımcı iÅŸlevi normal ifade, kendini inÅŸa etmek için var bir parametre - ick dayalı.
  • Normal ifade baÅŸka bir cevap saÄŸlanan birincisi (geçersiz kaçan) derlemek yoktu, ve daha sonra iÅŸe yaramadı. Benim kod ilk kez çalıştı. Daha yukarıdaki diyagram kullanılabilirlik bir vasiyet vs düz kodu, IMO.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • gsmaestro

    gsmaestro

    17 AÄžUSTOS 2006
  • jedimasterkyle

    jedimasterky

    11 ÅžUBAT 2006
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011