Bir girdi dizesini virgül, yarı-virgül veya beyaz boşluk (veya üçünün bir karışımı) ile bölebilmem gerekir. Aynı zamanda girişteki çoklu ardışık sınırlayıcıları tek bir sınırlayıcı olarak ele almak istiyorum. İşte ben bugüne kadar ne var:String.split() - ilk sınırlayıcıdan önceki önde gelen boş String ile eşleşen?
String regex = "[,;\\s]+";
return input.split(regex);
Bu giriş dizesi sonuç dizinin ilk elemanı boş bir dize olduğu bu durumda, ayırıcı karakterlerden biriyle başladığında dışında çalışır. Sonuçumun boş Dizeler olmasını istemiyorum, öyle ki ",,,, ZERO;;; ONE, TWO ;," gibi bir şey, büyük harfli Dizeleri içeren yalnızca üç öğe dizisini döndürür.
Bunu yapmak için String.split'i çağırmadan önce reg-ex'imle eşleşen herhangi bir öncü karakter çıkarmaktan daha iyi bir yolu var mı?
Şimdiden teşekkürler!
Java regex API'sini hatırlamıyorum gibi bir yanıt olarak gönderilmiyor, ancak sınırlayıcılara ayırmak yerine sınırlayıcı olmayan dizeleri arayabilirsin. [^,; \ s] + 'gibi bir regex kullanarak. –
Görünüşte aynı soru, daha yeni ama daha iyi kabul edilen cevap: https://stackoverflow.com/questions/9389503/how-to-prevent-java-lang-string-split-from-creating-a-leading-empty-string –