04. august 2009 - 20:36Der er
5 kommentarer og 1 løsning
simpelt regulært udtryk i Java
Hej jeg har følgende kode: Mit map indeholder en masse forskellige unikku koder. F.eks.
"11112","11113","1114" osv.
private Map koder = new HashMap();
String reqex = "1" ArrayList results = new ArrayList(); Pattern p = Pattern.compile(reqex);
Set keys = koder.keySet(); while (ite.hasNext()) { String candidate = (String) ite.next(); Matcher m = p.matcher(candidate); if (m.matches()) { System.out.println("it matches"); results.add(candidate); } } System.out.println("results match"+results);
Ved at søge på reqeq = "1" finder jeg kun en match, men jeg vil gerne søge igennem alle mine elementer i min map for at finde match. Jeg vil i bund og grund gerne implementer en søgning ligesom LIKE = 'kode%' i SQL. Så hvis reqex ="11" skulle jeg gerne finde alle de elementer der starter med 11
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Arne>> takker. for pokker jeg havde glemt .* for enden af min streng. Nu virker det. Jeg har skåret en autocomplete ned fra 200 ms til gennemsnitlig 80 ms. Tusinde tak for hjælpen. Smider du ikke et svar ?
Arne>> har lige et tillægsspørgsmål(du siger bare til hvis jeg skal oprettet et nyt spørgsmål) Ovenstående regulære udtryk fejlser hvis jeg skriver String reqex = "1).*"; Udtrykker fejlser også ved en * Kan du lige gennemskue hvad jeg gør forkert )
Takker Arne. Jeg man skal lige huske at en ( skal escapes med \\
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.