26. juli 2006 - 14:34
Der er
10 kommentarer og 2 løsninger
String Parse
Hej eksperter Jeg modtager denne string tilbage fra en gameserver infoResponse \mapname\wtest4\g_needpass\0\g_match_time\Warmup\g_instagib\0\dmflags\16\gamedate\Jun 13 2006\gamename\Warsow\sv_pps\20\sv_maxrate\15000\protocol\7\sv_cheats\0\version\0.12 x86 Jun 13 2006 Win32 RELEASE\sv_maxclients\16\sv_battleye\1\sv_skilllevel\1\sv_hostname\Test server\g_tctf\10\g_gametype\tdm\clients\0 \challenge\ Hvordan Parser jeg denne string og smider de forskellige værdier ind i andre strings? - TuDack
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
En mulig fremgangsmåde: string[] sArr = dinString.Split(new char[]{'\\'});
Tja... men skal nok bruge lidt mere hjælp. Vil jo også gerne have de forskellige værdier ind i andre strings.
Det er et fast antal informationer du modtager som response hver gang går jeg ud fra. Hvis du ikke vil arbejde direkte med arrayet har du mulighed for at smide værdierne over i et antal foruddefinerede strenge. F.eks: string res1="", res2="", res3="", res4="", res5=""; string[] sArr = dinString.Split(new char[] { '\\' }); for (int i = 0; i < sArr.Length; i++) { switch (i) { case 1: res1 = sArr[i]; break; case 2: res2 = sArr[i]; break; case 3: res3 = sArr[i]; break; case 4: res4 = sArr[i]; break; case 5: res5 = sArr[i]; break; } } MessageBox.Show(res1+"\n"+res2+"\n"+res3+"\n"+res4+"\n"+res5);
Til at teste ovenstående kode kan du bruge følgende streng som test værdi: string dinString="\\hej\\med\\dig\\du\\gamle";
innercitydk >> Hvorfor gøre det så besværligt? din res1 = sArr[0] din res2 = sArr[1] osv... Det er da godt nok en omvej at bruge en switch og for løkke...
Tjah det har du ret i.. det blev også bare lige rystet hurtigt ud af posen :)
innercitydk> Dit eksempel virker fint, men hvad er det som md_craig nævner? Kan det gøres mere simpelt?
Ja lad os sige at der findes 10 strings i string arrayet. Der er ingen grund til at bruge en løkke til at gennemløbe arrayet, du kan nøjes med at bruge arrayet med indeksering: string res1,res2,res3,res4,res5; res1=sArr[0]; res2=sArr[1]; res3=sArr[2]; res4=sArr[3]; res5=sArr[4]; Der sker det samme, denne måde bruger dog mindre resourcer :)
28. juli 2006 - 14:02
#10
Det virker bare, smid et svar...
28. juli 2006 - 15:14
#11
Nice ;)
29. juli 2006 - 11:54
#12
Og lige 10 point til spif
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.