Avatar billede joe_dalton Nybegynder
21. marts 2007 - 11:57 Der er 6 kommentarer og
1 løsning

Opdeling af forskellige strenge. Strengmanipulation

Hej Experter! :D

Jeg har en masse strengmanipulation jeg skal ha' lavet, men er ikke særlig stærkt på dette område i C#.

1. Jeg skal ha pillet et nummeret ud af en streng der ser således ud: '<XXX:1234567890@XXXXXX>;tag=XxXxXxXx' eller i nogle tilfælde således: 'XXXxxX <XXX:1234567890@XXXXXX>;tag=XxXxXxXx'

Skal bare ha hevet det nummer ud som ligger imellem 'XXX:' og '@'

2. Jeg skal ha pillet alt hvad der kommer efter ';tag=' ud. Dette kan nemlig variere i længde.

Håber i kan hjæalpe. Synes jeg sidder lidt fast. Har lavet en left og right funktion, men dette hjæalper ikke da der næasten altid er forskellige længder på tallet og på hvad der står efter ';tag='

På forhånd tak

_Kalle
Avatar billede bitmatic Nybegynder
21. marts 2007 - 12:36 #1
Hvad er X og x ??

Hvis X kan være hvad som helst har du et problem.

Hvis du derimod kan lave antagelser omkring X, såsom at X altid er bogstaver eller lignende, så kan det sikkert sagtens lade sig gøre.

Hvis du kan regne med at X aldrig indeholder nogle af specialtegnene i strengen (<:@>;=), så kan du evt. kalde split funktionen på strengen med de her specialtegn som argument. Den vil så dele strengen op i de enkelte elementer for dig.

/Jakob
Avatar billede joe_dalton Nybegynder
21. marts 2007 - 12:42 #2
Hej Jacob

1 förste tilfälde vil strengene altid se således ud:
"<sip:12345678@detteertilfäldigt>;tag=tilfäldigt" eller i nogle tilfælde således: "12345678 <sip:12345678@detteertilfäldigt>;tag=tilfäldigt"
Avatar billede bitmatic Nybegynder
21. marts 2007 - 13:56 #3
Ok.

Det er nemt nok at fiske tallet ud. Du skal bare splitte strengen på : og @

Noget lignende af (pseudokode - kan sikkert ikke kompilere):

-------
string input = "<sip:12345678@detteertilfäldigt>;tag=tilfäldigt"
string[] opdelt = input.Split(':@');

string tal = opdelt[1];
--------

Så skriver du at dele af strengen er helt tilfældig.... Well. Så har du et alvorligt problem. Det gør det reelt umuligt at være sikker på korrektheden af det du får ud.

Men hvis du tør satse på at de tilfældige strenge ikke indeholder ">;tag=", så kan du sagtens bruge input.IndexOf(">;tag=") og SubString til at grave den sidste del af strengen frem.

/Jakob
Avatar billede junl Nybegynder
21. marts 2007 - 14:05 #4
a.substring(startindex, længde af det du vil klippe ud)

f.eks.

a.substring(a.indexof(":"), a.indexof("@")-a.indexof(":"));
Avatar billede junl Nybegynder
21. marts 2007 - 14:05 #5
Hvis a er din strengs navn
Avatar billede joe_dalton Nybegynder
21. marts 2007 - 14:20 #6
ja det ser ud til at vrike jacb.. skal bare lige have substring til at fungere 100% så tror jeg det körer.

mange tak!

Smid et svar så kan du få point hvis du har lyst!
Avatar billede bitmatic Nybegynder
21. marts 2007 - 14:32 #7
ok
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester