Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Join niza stringova u string

[es] :: Java :: Join niza stringova u string

[ Pregleda: 1426 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Au197/79
NBGD

Član broj: 3556
Poruke: 628
*.ETF.BG.AC.YU.



Profil

icon Join niza stringova u string15.10.2005. u 15:01

Da li java ima neku join metodu koja će spojiti niz stringova u jedinstven string po nekom delimiteru kao što to postoji npr. u pythonu?

Nova java ima split metodu na stringu koja je inverzna metodi koju tražim.


Bolje džaba ležat nego džaba radit.
15.10.2005. u 15:01 

smrz
promenio bi

Član broj: 61190
Poruke: 98
*.dialup.neobee.net.

Sajt: 70.84.131.212/data/toons/..


Profil

icon Re: Join niza stringova u string15.10.2005. u 21:33
Citat:
Au197/79: Da li java ima neku join metodu koja će spojiti niz stringova u jedinstven string po nekom delimiteru kao što to postoji npr. u pythonu?

Nova java ima split metodu na stringu koja je inverzna metodi koju tražim.


Java ima primitivan API za operacije nad Stringovima. Koristi jakarta commons-lang biblioteku. Evo onoga što tražiš.

http://jakarta.apache.org/comm...ons/lang/StringUtils.html#join(java.lang.Object[], java.lang.String)
15.10.2005. u 21:33 

veljaradenkovic
Velja Radenkovic
Beograd

Moderator
Član broj: 2977
Poruke: 280
*.ptt.yu.

ICQ: 147120023


Profil

icon Re: Join niza stringova u string15.10.2005. u 21:34
Mislim da nema. String je 'immutable object' sto znaci da se njegovo stanje (data) ne moze menjati posle konstrukcije. Naravno uvek mozes da od String objekata iz niza kreiras novi string objekat. Ince implementacija takve funkcije je trivijalna.

Code:

public String joinStrings(String[] strArray)
    {
        StringBuilder sb = new StringBuilder();
        for(String element : strArray)
        {
            sb.append(element);
            //Opciono mozes da dodas i delimiter
            sb.append(',');
        }
        return sb.toString();
    }

15.10.2005. u 21:34 

Au197/79
NBGD

Član broj: 3556
Poruke: 628
*.etf.bg.ac.yu.



Profil

icon Re: Join niza stringova u string16.10.2005. u 00:24
Hvala na odgovorima. Znam kako se izboriti sa nedostatkom join metode, ali nikako mi nije jasno kakav pametnjaković iz Sun-a uvodi split a inverzni join zaboravlja. Ova priručna rešenja su nezgodna jer ako imam niz stringova ["aa", "bb", "cc"] (py zapis) i hoću da ih spojim i dobijem "aa,bb,cc" treba da se piše kod da se ne dobije nešto tipa: ",aa,bb,cc" ili "aa,bb,cc,". Kako neke proste poput metode join stvari mogu da olakšaju život i prosto nisam mogao da poverujem kako te funkcionalnosti u mastodontu poput jave nema :(
Bolje džaba ležat nego džaba radit.
16.10.2005. u 00:24 

veljaradenkovic
Velja Radenkovic
Beograd

Moderator
Član broj: 2977
Poruke: 280
*.ptt.yu.

ICQ: 147120023


Profil

icon Re: Join niza stringova u string17.10.2005. u 22:40
Citat:
Ova priručna rešenja su nezgodna jer ako imam niz stringova ["aa", "bb", "cc"] (py zapis) i hoću da ih spojim i dobijem "aa,bb,cc" treba da se piše kod da se ne dobije nešto tipa: ",aa,bb,cc" ili "aa,bb,cc,".


Cisto u svrhu dokumentacije da kazem da nije tesko da se ishendluje korektno postavljanje delimitera.

Code:

public String joinStrings(String[] strArray)
    {
        StringBuilder sb = new StringBuilder();
        int counter = 0; 
        for(String element : strArray)
        {
            sb.append(element);
            //Opciono mozes da dodas i delimiter
            if(counter != (strArray.length - 1))
                sb.append(',');
            counter++;
        }
        return sb.toString();
    }


Ili for petlja sa brojacem pa bez ovog counter.
17.10.2005. u 22:40 

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1251
*.rz.uni-karlsruhe.de.

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Join niza stringova u string18.10.2005. u 12:41
Ili da se ustedi koji bit:

Code:

public String joinStrings(String[] strArray)
{
  StringBuilder sb = new StringBuilder();
  boolean prvi = true; 
  for(String element : strArray)
  {
    if(prvi)
      prvi = false;
    else
      sb.append(',');
    sb.append(element);
    //Opciono mozes da dodas i delimiter
    counter++;
  }
return sb.toString();
}

:)
blog.sun.com/srbija
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
18.10.2005. u 12:41 

[es] :: Java :: Join niza stringova u string

[ Pregleda: 1426 | Odgovora: 5 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.