Avatar billede Heike Nybegynder
07. december 2011 - 18:27 Der er 8 kommentarer og
1 løsning

Split string og læg i variabler

Hej folkens!

Jeg står med et program, som modtager en string data serielt fra en Arduino. Denne string indeholder en række info, bl.a. værdier fra en senser og RFID tagnr. Disse data kunne jeg godt tænke mig at få splittet op i variabler så jeg efterfølgende kan arbejde med dem og få det printet ud i en label.

- Jeg har snuset lidt til split funktionen, men jeg er stadig ret ny i det hele, så jeg kan ikke helt få det sammenkogt til det jeg gerne vil.

Håber der er nogen, der kan hjælpe :)

Det jeg er kommet frem til pt. er:


        private void Laes_Paa_string()
        {
            string s = 121,123jdjdjs,1; // indkomne string eksempel

            string[] s1 = s.Split(',');
            foreach (string word in s1)
            {
               
            }
Avatar billede arne_v Ekspert
07. december 2011 - 18:34 #1
string s = laeskommasepareretfradims();
foreach(string sv in s.Split(','))
{
    int iv = int.Parse(sv);
    // du har nu sv og iv som du kan bruge
}
Avatar billede Heike Nybegynder
08. december 2011 - 11:25 #2
Hej igen

Tak for svar.


Jeg lavede en eksempel string = "hej,med,dig";

Når jeg vælger at udskrive sv i en label er det kun "dig" der kommer ud?

Hvad er det lige jeg gør galt her?
Avatar billede arne_v Ekspert
08. december 2011 - 14:35 #3
Post koden
Avatar billede Heike Nybegynder
08. december 2011 - 14:50 #4
Hej

Jeg fandt en anden løsning ved at bruge "Substring".

Eksempel:

string strBesked = "Hej med dig";

            string strSvar = strBesked.Substring(0, 3);
          {
               
                label1.Text = strSvar.ToString(); //retunerer Hej


Men ellers tak for svar Arne, jeg smider points, som tak!
Avatar billede arne_v Ekspert
08. december 2011 - 18:19 #5
Hvis du kun vil have den foerste men gerne ville kunne tillade andre laengder, saa:

label1.Text = strBesked.Split(' ')[0];
Avatar billede arne_v Ekspert
08. december 2011 - 18:20 #6
og et svar
Avatar billede arne_v Ekspert
08. december 2011 - 18:20 #7
og et svar
Avatar billede Heike Nybegynder
12. december 2011 - 11:44 #8
Jeg var måske lidt hurtig ude med at lukke tråden.
Den data jeg modtager vil jeg gerne have indeholder et start og stop tegn. som fx. !34456576eej1,43,2! Jeg har nu siddet og rodet lidt med det, men igen kan jeg ikke rigtig komme frem til en metode til at genkende hvornår en ny string bliver sendt, og derefter kunne pille de forskellige dele ud!..

Håber der er en der kan hjælpe:)
Avatar billede arne_v Ekspert
13. december 2011 - 00:26 #9
Du kan splitte paa mere end et tegn.

Eks.:

label1.Text = strBesked.Split(' ', '!')[0];
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