ik kom niet helemaal uit een reguliere expressie
ik wil in Java mbv de String.replaceAll functie woorden uit een comma spatie separated string filteren die korter zijn dan b.v. 3 letters.
Hiervoor de volgende test in een JSP:
Nu zie ik echter dat in het midden gedeelte, als er twee woorden achter elkaar voorkomen, kleiner of gelijk aan 3 letters, dan wordt alleen het eerste woord eruit gefilterd. Nu weet ik niet precies hoe de string geparsed wordt. Ik dacht door er een extra spatie terug te zetten, dat het volgende woord automatisch ook gefilterd werd. Iemand een suggestie?
ik wil in Java mbv de String.replaceAll functie woorden uit een comma spatie separated string filteren die korter zijn dan b.v. 3 letters.
Hiervoor de volgende test in een JSP:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| String regExp, pStr; // invoer pStr = "ddd dbfjh4b ddd dd jh4434 dd dfgdf dfg aaa naar jjj kkk lll fff bdda"; out.println( pStr + "<BR>" ); // begin en eind regExp = "^.{1,3}\\s"; pStr = pStr.replaceAll( regExp, "" ); regExp = "\\s.{1,3}$"; pStr = pStr.replaceAll( regExp, "" ); // midden (elk tweede woord van lengte 3 of korter blijft staan) regExp = "\\s.{1,3}\\s"; pStr = pStr.replaceAll( regExp, " " ); // resultaat out.println( pStr ); // Output:dbfjh4b dd jh4434 dfgdf aaa naar kkk fff bdda |
Nu zie ik echter dat in het midden gedeelte, als er twee woorden achter elkaar voorkomen, kleiner of gelijk aan 3 letters, dan wordt alleen het eerste woord eruit gefilterd. Nu weet ik niet precies hoe de string geparsed wordt. Ik dacht door er een extra spatie terug te zetten, dat het volgende woord automatisch ook gefilterd werd. Iemand een suggestie?