🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
6 messages
6 total messages Started by MarekF Thu, 04 Oct 2012 13:43
Split delimiter
#153607
Author: MarekF
Date: Thu, 04 Oct 2012 13:43
20 lines
1652 bytes
Witam
Chce rozbic stringa do tablicy. W tablicy ma byc tylko to w nawiasach i 
jest, tylko czy mozna tak skonstruowac delimitera, zebo to zrobil od razu a 
nie w 3 splitach
Dzialajacy kod:
String produkt = "Produkt=new produkty(Produkt,0.8,0.2,11.8,41, 7 ,1)";
  //String delimiter = "[(]";
  String[] myString = produkt.split("[(]");
  System.out.println(myString[1]);
  //wynik Produkt,0.8,0.2,11.8,41, 7 ,1)
  String temp = myString[1];
  String[] temp1= temp.split("[)]");
  System.out.println(temp1[0]);
  //Wynik Produkt,0.8,0.2,11.8,41, 7 ,1
  String temp2 = temp1[0];
  String[] temp3 = temp2.split("[,]");
  System.out.println(temp3[0]);
//wynik Produkt
Pozdrawiam
MarekF 
Re: Split delimiter
#153608
Author: mmarczyk2
Date: Thu, 04 Oct 2012 19:17
49 lines
2292 bytes
On Thursday, October 4, 2012 3:43:58 PM UTC+2, MarekF wrote:
> Witam
> 
> Chce rozbic stringa do tablicy. W tablicy ma byc tylko to w nawiasach i 
> 
> jest, tylko czy mozna tak skonstruowac delimitera, zebo to zrobil od razu a 
> 
> nie w 3 splitach
> 
> Dzialajacy kod:
> 
> String produkt = "Produkt=new produkty(Produkt,0.8,0.2,11.8,41, 7 ,1)";
> 
>   //String delimiter = "[(]";
> 
>   String[] myString = produkt.split("[(]");
> 
>   System.out.println(myString[1]);
> 
>   //wynik Produkt,0.8,0.2,11.8,41, 7 ,1)
> 
>   String temp = myString[1];
> 
>   String[] temp1= temp.split("[)]");
> 
>   System.out.println(temp1[0]);
> 
>   //Wynik Produkt,0.8,0.2,11.8,41, 7 ,1
> 
>   String temp2 = temp1[0];
> 
>   String[] temp3 = temp2.split("[,]");
> 
>   System.out.println(temp3[0]);
> 
> //wynik Produkt
> 
> Pozdrawiam
> 
> MarekF

Wykorzystaj wyrażenia regularne, na przykład tak:

String produkt = "Produkt=new produkty(Produkt,0.8,0.2,11.8,41, 7 ,1)";
System.out.println(produkt.replaceAll(".*\\(", "").replaceAll(",.*", ""));

Albo przy uzyciu Named Groups (więcej w tym wątku http://stackoverflow.com/questions/415580/regex-named-groups-in-java)

Marcin
Re: Split delimiter
#153610
Author: jolz
Date: Thu, 04 Oct 2012 23:00
3 lines
1138 bytes
jesli koniecznie musi byc jedna metoda:
produkt.split(".*\\(|,|\\)")
i wyobraz sobie ze tablica zaczyna sie od pierwszego elementu
Re: Split delimiter
#153609
Author: MarekF
Date: Fri, 05 Oct 2012 04:13
19 lines
1675 bytes
Użytkownik <mmarczyk2@gmail.com> napisał w wiadomości 
news:33cda62d-66ce-4786-a067-fbd58da7ac79@googlegroups.com...
On Thursday, October 4, 2012 3:43:58 PM UTC+2, MarekF wrote:
Wykorzystaj wyrażenia regularne, na przykład tak:

String produkt = "Produkt=new produkty(Produkt,0.8,0.2,11.8,41, 7 ,1)";
System.out.println(produkt.replaceAll(".*\\(", "").replaceAll(",.*", ""));

Albo przy uzyciu Named Groups (więcej w tym wątku 
http://stackoverflow.com/questions/415580/regex-named-groups-in-java)

Marcin
-----
Witam
To daje wynik : Produkt
Przyda sie.
Pozdrawiam
MarekF
Re: Split delimiter
#153611
Author: MarekF
Date: Fri, 05 Oct 2012 04:24
15 lines
1564 bytes
Użytkownik "jolz" <BardzoTajneKonto@interia.pl> napisał w wiadomości 
news:k4l4es$uq3$1@usenet.news.interia.pl...
> jesli koniecznie musi byc jedna metoda:
> produkt.split(".*\\(|,|\\)")
> i wyobraz sobie ze tablica zaczyna sie od pierwszego elementu
>
Witam
Wlasnie o tym myslalem, tylko nie wiedzialem jak to skonstruowac.
Przy okazji, dlaczego zerowy element tablicy jest pusty? Czy za to odpowiada
".*
Ok, juz sprawdzilem, bez ".* w zerowym jest to co mial odciac.
Dzieki
Pozdrawiam
MarekF
Re: Split delimiter
#153612
Author: William Bonawentura
Date: Fri, 05 Oct 2012 05:17
8 lines
1233 bytes

> Chce rozbic stringa do tablicy. W tablicy ma byc tylko to w nawiasach i

A ma to rozwiązanie być odporne na zagnieżdżone nawiasy:

String produkt = "Produkt=new produkty(Produkt,0.8,0.2,11.8,41, (7+2) ,1)"; 
?
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads