/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Regular expresion
Fra : torben


Dato : 23-01-05 17:57

Jeg har en string f.eks

String oprTekst= "Ole, Hans og Knud går en tur.";

Den ønsker jeg nu splittet i to stringe, som splitter ved knud.

String split1="Ole, Hans og ";
String split2= "Knud går en tur.";

Det ser ud til at virke, hvis jeg bruger flg. pattern:

Pattern pattern= Pattern.compile("([\\d\\D]*)(Knud[\\d\\D]*)");
Matcher matcher=pattern.matcher(oprTekst);
split1=matcher.group(1);
split2=matcher.group(2);

Men hvad gør man, hvis alle kombinationer af store og små bogstaver i
KnUd skal give anledning til et split (Og ikke som i eksemplet kun Knud) ?

Mvh. Torben

 
 
Jonathan Stein (23-01-2005)
Kommentar
Fra : Jonathan Stein


Dato : 23-01-05 19:11

torben wrote:

> Men hvad gør man, hvis alle kombinationer af store og små bogstaver i
> KnUd skal give anledning til et split (Og ikke som i eksemplet kun Knud) ?

Kig på CASE_INSENSITIVE flaget i Pattern.

F.eks. Pattern.compile("([\\d\\D]*)(Knud[\\d\\D]*)", CASE_INSENSITIVE);

M.v.h.

Jonathan


--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

torben (23-01-2005)
Kommentar
Fra : torben


Dato : 23-01-05 23:38

Jonathan Stein wrote:
> torben wrote:
>
>> Men hvad gør man, hvis alle kombinationer af store og små bogstaver i
>> KnUd skal give anledning til et split (Og ikke som i eksemplet kun
>> Knud) ?
>
>
> Kig på CASE_INSENSITIVE flaget i Pattern.
>
> F.eks. Pattern.compile("([\\d\\D]*)(Knud[\\d\\D]*)", CASE_INSENSITIVE);
>
> M.v.h.
>
> Jonathan
>
>
Tak, det var lige det jeg søgte efter.

Et tillægsspørgsmål:

Hvis man nu har en String som:
"Ole, Hans og Knud går tur med Knud's hund".

Kan man få den splittet så man får
String split1="Ole, Hans og ";
String split2= "Knud går en tur med Knud's hund.";

Det ser ud til, at jeg får splitningen

String split1="Ole, Hans og Knud går en tur med Knud";
String split2= "'s hund.";


Torben

Jonathan Stein (24-01-2005)
Kommentar
Fra : Jonathan Stein


Dato : 24-01-05 18:26

torben wrote:

> Et tillægsspørgsmål:
>
> Hvis man nu har en String som:
> "Ole, Hans og Knud går tur med Knud's hund".
>
> Kan man få den splittet så man får
> String split1="Ole, Hans og ";
> String split2= "Knud går en tur med Knud's hund.";
>
> Det ser ud til, at jeg får splitningen
>
> String split1="Ole, Hans og Knud går en tur med Knud";
> String split2= "'s hund.";

Du gør faktisk dine udtryk noget mere indviklede end nødvendigt. Så vidt
jeg kan se, opnår du det ønskede med:
splits = pattern.split("knud", 2);
split1 = splits[0] + "Knud";
split2 = splits[1];

- læg dog mærke til, at "Knud" kommer til at stå, som du har skrevet det
uanset hvordan det stod i teksten.

M.v.h.

Jonathan

--
Er din e-mail vigtig? Er du træt af virus og spam i mailen?
Virus-scanning og spam-filtrering på alle mail-konti. På redundant
mail-setup med daglig backup.
http://www.jsp-hotel.dk/

torben (24-01-2005)
Kommentar
Fra : torben


Dato : 24-01-05 20:14

Jonathan Stein wrote:
> torben wrote:
>
>> Et tillægsspørgsmål:
>>
>> Hvis man nu har en String som:
>> "Ole, Hans og Knud går tur med Knud's hund".
>>
>> Kan man få den splittet så man får
>> String split1="Ole, Hans og ";
>> String split2= "Knud går en tur med Knud's hund.";
>>
>> Det ser ud til, at jeg får splitningen
>>
>> String split1="Ole, Hans og Knud går en tur med Knud";
>> String split2= "'s hund.";
>
>
> Du gør faktisk dine udtryk noget mere indviklede end nødvendigt. Så vidt
> jeg kan se, opnår du det ønskede med:
> splits = pattern.split("knud", 2);
> split1 = splits[0] + "Knud";
> split2 = splits[1];
>
>

Mange tak for hjælpen. Det var lige det, jeg skulle bruge.

Hvorfor har man en tendens til at gå over efter vand ?

Mvh. Torben

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste