Ik probeer om VCards die via bluetooth zijn binnen gekomen om die uit te lezen en op te slaan. Dit had ik eerst gedaan via stukken tekst opzoeken en lezen tot ;. Nu gaat dat heel vaak mis omdat veel gsm's verschillende vcards sturen (verschillen volgorde).
Nu had ik een vcard reader gevonden op Code project en die werkt bijna helemaal. Ik zit vast op het ophalen van de naam.
Heb als voorbeeld 2 verschillende vcards (van collega en mij)
daar laat ik op los:
de eerste gaat goed. De 2e niet, dit komt vanwege de niet gegeven ';'.
\nN;ENCODING=QUOTED-PRINTABLE:Van=20de=20Korput;Roy;;;\r\n
\nN:achternaam;voornaam\r\n
Ik kom er maar niet uit om dit af te vangen. Heeft iemand een idee om dit af te vangen
Probeer steeds verschillende regex commando's via Expresso
Nu had ik een vcard reader gevonden op Code project en die werkt bijna helemaal. Ik zit vast op het ophalen van de naam.
Heb als voorbeeld 2 verschillende vcards (van collega en mij)
code:
1
| BEGIN:VCARD\r\nVERSION:2.1\r\nN;ENCODING=QUOTED-PRINTABLE:Van=20de=20Korput;Roy;;;\r\nTEL;CELL:0611111\r\nEMAIL:blaat@blaat.com\r\nEND:VCARD\r\n |
code:
1
| BEGIN:VCARD\r\nVERSION:2.1\r\nN:achternaam;voornaam\r\nTITLE:Programmer\r\nORG:bedrijf B.v.\r\nTEL;CELL:0611111\r\nEMAIL;INTERNET;PREF:blaat@blaat.com\r\nURL:http://www.google.com\r\nADR;HOME:;;;plaats;;;Netherlands \r\nBDAY:19830103\r\nX-IRMC-LUID:000200000000\r\nEND:VCARD\r\n |
daar laat ik op los:
C#:
1
2
3
4
5
6
7
8
9
10
11
| RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace; regex = new Regex(@"(\n(?<strElement>(N))) (;*(?<strAttr>(ENCODING=QUOTED-PRINTABLE))) (:(?<strSurname>([^;]*))) (;(?<strGivenName>([^;]*))) (;(?<strMidName>([^;]*))) (;(?<strPrefix>([^;]*))) (;(?<strSuffix>[^\n\r]*))", options); m = regex.Match(s); if (m.Success) { Surname = m.Groups["strSurname"].Value; GivenName = m.Groups["strGivenName"].Value; MiddleName = m.Groups["strMidName"].Value; Prefix = m.Groups["strPrefix"].Value; Suffix = m.Groups["strSuffix"].Value; } |
de eerste gaat goed. De 2e niet, dit komt vanwege de niet gegeven ';'.
\nN;ENCODING=QUOTED-PRINTABLE:Van=20de=20Korput;Roy;;;\r\n
\nN:achternaam;voornaam\r\n
Ik kom er maar niet uit om dit af te vangen. Heeft iemand een idee om dit af te vangen
Probeer steeds verschillende regex commando's via Expresso
[ Voor 3% gewijzigd door PoweRoy op 05-11-2007 14:50 ]
[This space is for rent]