Avatar billede entracore Nybegynder
14. januar 2003 - 13:46 Der er 6 kommentarer og
2 løsninger

Split string i C#

Hey

Jeg er sgu kørt lidt død med det her. Er der ikke nogle der kan give mig et eksempel på hvordan man splitter en streng i C#.

F.eks. følgende kommasepereret streng skal splittes op.

string strMyString = "Test1, Test2, Test3, Test4";

På forhånd tak :-)
Avatar billede entracore Nybegynder
14. januar 2003 - 13:49 #1
...og men jeg er i gang vil jeg også gerne vide hvordan man løber strengen igennem og udskriver hver enkelt kommesepereret værdi.

Et eksempel i VB er.

strMySplit = Split(strMyString, ",")
For i = 1 To UBound(strMySplit)
    MsgBox strMySplit(i)
Next
Avatar billede human Nybegynder
14. januar 2003 - 13:57 #2
Avatar billede lgy Nybegynder
14. januar 2003 - 14:00 #3
Char[] splitChar = new Char{","};

string[] strings = strMySTring.Split(splitChar);
Avatar billede z42cool Nybegynder
14. januar 2003 - 14:02 #4
Direkte oversat fra dit eksempel:

string[] strMySplit = Split(strMyString, new Char[] {','});
for (int i=0; i<strMySplit.Length; i++)
{
  MessageBox.Show(strMySplit[i]);
}
Avatar billede simon.ulsnes Nybegynder
20. januar 2003 - 14:39 #5
Det kan måske være en ide at fjerne mellemrummene mellem de enkelte elementer:

string[] strMySplit = Split(strMyString.Replace(", ", ","), new Char[] {','});
for (int i=0; i<strMySplit.Length; i++)
{
  MessageBox.Show(strMySplit[i]);
}
Avatar billede z42cool Nybegynder
20. januar 2003 - 15:05 #6
simon.ulsnes>> Bør det så ikke være:

string[] strMySplit = Split(strMyString.Replace(", ", ",").Replace(" ,", ","), new Char[] {','});
for (int i=0; i<strMySplit.Length; i++)
{
  MessageBox.Show(strMySplit[i]);
}

eller måske endnu bedre da vi jo ikke kender antallet af mellemrum før og efter kommaerne:

string[] strMySplit = Split(strMyString, new Char[] {','});
for (int i=0; i<strMySplit.Length; i++)
{
  strMySplit[i] = strMySplit[i].Trim();
  MessageBox.Show(strMySplit[i]);
}
Avatar billede entracore Nybegynder
23. januar 2003 - 09:29 #7
Tak for jeres svar og undskyld for den lidt længe respons tid. Jeg vil dele pointene mellem simon.ulsnes og z42cool. Så hvis du lige vil komme med et svar simon.ulsnes så vil jeg dele pointene mellem jer.

Mange tak for hjælpen
Avatar billede simon.ulsnes Nybegynder
23. januar 2003 - 15:43 #8
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
Kurser inden for grundlæggende programmering

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