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:
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ÅŸ:
Bölünmüş Yeni Satır Dize Java...
Dize uzunluÄŸu Java Unicode...
Neden char[] şifreler için Dize Java t...
Java ile bir numaralama için bir Dize ...
Nasıl bir dosyanın içeriğini bir Java ...