Toon posts:

[ASP.NET/C#] Eerste 4 karakters uit een string halen

Pagina: 1
Acties:
  • 194 views sinds 30-01-2008

Verwijderd

Topicstarter
Welke functie raden jullie aan om de eerste 4 cijfers uit een string te lezen?

Het gaat namelijk om een postcode dus het is belangrijk dat het ook cijfers moeten zijn...

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
IsNumeric(Left(MyString,4)) :?

Er zijn zoveel built-in functies die je kunt gebruiken...
Integer.TryParse, Cint, IsNumeric, .Substring(0,4), een Regex... Daar ben je juist programmeur voor; om zélf te besluiten welke gereedschappen je gebruikt in welke situatie...

Verder is dit nou niet echt dat je zegt een geweldige topicstart...

edit:

Ooops, C# :X
Anyway, daar gaat hetzelfde voor op...

[ Voor 112% gewijzigd door RobIII op 28-06-2006 16:46 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Plekuz
  • Registratie: September 2002
  • Laatst online: 02-01 15:26

Plekuz

available in strong mint

"4057KD".Substring(0,4);

"There he goes. One of God's own prototypes. Some kind of high powered mutant never even considered for mass production. Too weird to live, and too rare to die."


Verwijderd

Topicstarter
RobIII schreef op woensdag 28 juni 2006 @ 16:44:
IsNumeric(Left(MyString,4)) :?

Er zijn zoveel built-in functies die je kunt gebruiken...
Integer.TryParse, Cint, IsNumeric, .Substring(0,4), een Regex... Daar ben je juist programmeur voor; om zélf te besluiten welke gereedschappen je gebruikt in welke situatie...

Verder is dit nou niet echt dat je zegt een geweldige topicstart...

edit:

Ooops, C# :X
Anyway, daar gaat hetzelfde voor op...
Nee dat weet ik maar het is namelijk een simpel iets maar kan niet vinden welke ik nou precies moet gebruiken... MSDN doet namelijk ook vaag bij mij

  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

Reguliere expressies uiteraard, zoiets als: [1-9][0-9]{3}

[edit]
http://www.obelink.com/Ar...ine/tabid/60/Default.aspx
Eerste hit op google.

[ Voor 50% gewijzigd door prototype op 28-06-2006 16:49 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
prototype schreef op woensdag 28 juni 2006 @ 16:48:
Reguliere expressies uiteraard, zoiets als: [1-9][0-9]{3}
Hoezo "uiteraard"?
Ik vind het redelijk overkill om te controleren of iets 4 cijfers is....uiteraard ;)
Maar, inderdaad, het kan wel...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

RobIII schreef op woensdag 28 juni 2006 @ 16:53:
[...]

Hoezo "uiteraard"?
Ik vind het redelijk overkill om te controleren of iets 4 cijfers is....uiteraard ;)
Maar, inderdaad, het kan wel...
Je isnumeric methode zal ook 0xxx slikken, voor 0 <= x <= 9, er bestan geen postcodes in nederland die met een 0 beginnen.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
prototype schreef op woensdag 28 juni 2006 @ 16:58:
[...]

Je isnumeric methode zal ook 0xxx slikken, voor 0 <= x <= 9, er bestan geen postcodes in nederland die met een 0 beginnen.
Er zijn wel meer postcodes die niet bestaan ;) Die vang je ook niet met een regex.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

RobIII schreef op woensdag 28 juni 2006 @ 17:00:
[...]

Er zijn wel meer postcodes die niet bestaan ;) Die vang je ook niet met een regex.
Misschien zo, maar ook dingen als '-1343' is per definitie fout, en volgens zal ook isnumeric dit slikken. Reguliere expressies zijn o.a. voor pattern matching, dus waarom de kritiek? Het is juist wat je hier nodig hebt, en zo duur is die expressie toch echt niet.

  • Meekoh
  • Registratie: April 2005
  • Laatst online: 13:44
isnumreic zal sowieso niet werken dat is namelijk vb.net.
regex wel, en om te kijken of iets met een 0 begint, maak je gewoon een substring van 1e getal en check je of die een 0 is, zoja dan ERROR :P

Computer says no


Verwijderd

Topicstarter
Bedankt voor jullie reacties.. het werkt nu zoals ik wil :)

  • prototype
  • Registratie: Juni 2001
  • Niet online

prototype

Cheer Bear

Moshe85 schreef op woensdag 28 juni 2006 @ 17:04:
isnumreic zal sowieso niet werken dat is namelijk vb.net.
regex wel, en om te kijken of iets met een 0 begint, maak je gewoon een substring van 1e getal en check je of die een 0 is, zoja dan ERROR :P
Ja, dat is immers veel goedkoper, een nieuwe string maken om vervolgens daarop te matchen. Please mind the sarcasm.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Sorry hoor maar een Regex is totaal overkill en je het het over goedkoper? Als je gewoon de 4 eerste chars wilt controleren of het getallen zijn kan je beter gewoon die 4 getallen langs lopen en het volgende doen
C#:
1
2
3
4
5
6
7
string str = "1234AB";
for(int i = 0; i<4;i++ )
{
    if( str[ i ] < '0' || str[i] > '9' )
         return false;
}
return true;

Of gewoon een substring van 4 nemen die proberen te parsen. Dat zal allemaal denk een stuk sneller zijn als regexen.

Regexen kunnen inderdaad heel handig zijn maar je hoeft ze echt niet overal voor te gebruiken.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Een beetje mosterd na de maaltijd misschien, maar dit topic gaat op slot. X-Ploit, je bent al vaker op de Algemene gedragsregels (Netiquette) gewezen. Ik stel voor dat je die nog eens heel goed gaat doorlezen voor je weer een topic opent.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.