WN  

Gå tillbaka   WN > Webbutveckling & webbhotell > Serversidans teknologier

Svara
 
Ämnesverktyg Visningsalternativ
Gammal 2012-04-06, 11:15   #1
frecka
Flitig postare
 
Reg.datum: Apr 2011
Inlägg: 410
Standard

Hjälp med regulära uttryck


Det är med regulära uttryck blir jag tokig på.

Jag vill

Kolla igenom alla tecken en sträng. Om ett tecken i strängen inte är en siffra(0-9) så skall den tas bort.

Anthon
Gammal 2012-04-06, 11:51   #2
tartareandesire
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 9 825
Skicka ett meddelande via Skype™ till tartareandesire
Standard

[^0-9]+ matchar allt som inte är siffror.
__________________
www.vewebb.se - Modern webbutveckling | www.qualitycontent.se - Innehåll till din hemsida
Gammal 2012-04-06, 14:03   #3
martine
Mycket flitig postare
 
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
Standard

Citat:
Ursprungligen postat av frecka Visa inlägg
Det är med regulära uttryck blir jag tokig på.
Kolla igenom alla tecken en sträng. Om ett tecken i strängen inte är en siffra(0-9) så skall den tas bort.
Mycket enklare kan väl knappast ett regexp bli…

$nu = preg_replace('/[^0-9]/',"",$innan);

Är du säker på att det är Java och inte JavaScript du sysslar med för övrigt (i din signatur), Anthon?
Gammal 2012-04-06, 17:02   #4
frecka
Flitig postare
 
Reg.datum: Apr 2011
Inlägg: 410
Standard

Jag löste del själv nu med lite fulkod (vanlig php)

Jag tog precis bort min signatur och bytte till den nuvarande. Men nej, javascript är jaginte så inne på med Java är fantastiskt roligt
Gammal 2012-04-06, 23:08   #5
makaflOw
Medlem
 
makaflOws avatar
 
Reg.datum: Sep 2011
Inlägg: 141
Standard

Du får gärna dela med dig av hur du löste de så fler som stöter på samma problem kan ta hjälp av den här tråden.
Gammal 2012-04-06, 23:31   #6
frecka
Flitig postare
 
Reg.datum: Apr 2011
Inlägg: 410
Standard

Jag gjorde såhär:

Jag splittade strängen med hjälp av $array = str_split($string) och fick en array med alla tecken.

Loopade igenom arrayen med for($i=0;$i<count($array);$i++)

Jag kollade inuti loopen om is_numeric($tecken) == FALSE

Om villkoret var sant så sätter jag $tecken[$i] = FALSE

Efter loopen skrev jag $string = $implode($tecken);
Gammal 2012-04-07, 01:13   #7
Jake.Nu
Medlem
 
Reg.datum: Oct 2006
Inlägg: 215
Standard

I.s.f. hade jag gjort så här istället.
PHP-kod:
$str '';
for (
$i 0$i strlen($input); ++$i) {
    if (!
is_numeric($input[$i])) {
        
$str .= $input[$i];
    }
}
$input $str;

echo 
$input" är nu ok"
__________________
Är du nere? Har du ballat ur? Har du fått spader? Har du erfarenhet?
Gammal 2012-04-07, 09:02   #8
captaindoe
Flitig postare
 
Reg.datum: Dec 2010
Inlägg: 337
Standard

Martine's lösning borde vara betydligt snabbare än din lösning frecka.
Gammal 2012-04-07, 09:04   #9
frecka
Flitig postare
 
Reg.datum: Apr 2011
Inlägg: 410
Standard

no shit captaindoe
Gammal 2012-04-07, 12:11   #10
captaindoe
Flitig postare
 
Reg.datum: Dec 2010
Inlägg: 337
Standard

Varför använder du då din egna om du förstår det? Idiotiskt isåfall.
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:41.

WN - Topp

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson