Avatar billede ashansen Nybegynder
02. marts 2006 - 22:10 Der er 21 kommentarer og
2 løsninger

Split funktion

Hej

Jeg sidder med streng som jeg gerne vil have delt op i et array.
Strengen er 5+5

Jeg har gjort følgende
string[] RegneArray = Regnestykke.Split('+');
Mit array ser således ud
5
+
5

er der nogen måde hvorpå jeg kan undgå at få + med i arrayet?

Mvh

Allan
Avatar billede Syska Mester
02. marts 2006 - 22:27 #1
string spiltString = "5+5";
string[] splittet = spiltString.Split('+');
string newString = string.Empty;
foreach (string s in splittet)
{
    newString += s;
}

MessageBox.Show(newString);

Følgende tager ikke "+" med hos mig.....
Avatar billede nielle Nybegynder
02. marts 2006 - 22:29 #2
Heller ikke hos mig :^)

            string Regnestykke = "5+5";
            string[] RegneArray = Regnestykke.Split('+');
            for (int i = 0; i < RegneArray.Length; i++)
            {
                Console.WriteLine(RegneArray[i]);
            }
Avatar billede ashansen Nybegynder
02. marts 2006 - 22:39 #3
Når jeg så vil ligge 5 og 5 sammen fra arrayet, har jeg prøvet med

Resultat = RegneArray[0] + RegneArray[1];

Men det er den ikke glad for
(beklager mit lave niveau, men er lige begyndt på c#. Prøver at lave en lommeregner)

Ved i hvad jeg gør galt her?

Mvh

Allan
Avatar billede ashansen Nybegynder
02. marts 2006 - 22:40 #4
Det skal siges at Resultat er af typen int32
Avatar billede nielle Nybegynder
02. marts 2006 - 22:41 #5
Resultat = Int32.Parse(RegneArray[0]) + Int32.Parse(RegneArray[1]);
Avatar billede ashansen Nybegynder
02. marts 2006 - 22:43 #6
Ihhh, lækkert, tusinde tak for hjælpen begge to.
Kom i begge med et svar :)

Mvh

Allan
Avatar billede ashansen Nybegynder
02. marts 2006 - 22:45 #7
lige en sidste ting
Når jeg laver arrayet dynamisk med følgende

Resultat += Int32.Parse(RegneArray[Taeller]);

Så går programmet ned når jeg har indtastet regnestykket
Noget bud?
Avatar billede ashansen Nybegynder
02. marts 2006 - 22:46 #8
DEt hele ser således ud

  for (Int32 Taeller = 0; Taeller <= RegneArray.Length; Taeller++)
            {
                Resultat += Int32.Parse(RegneArray[Taeller]);
            }
Avatar billede nielle Nybegynder
02. marts 2006 - 22:47 #9
Resultat = 0;
for (Int32 Taeller = 0; Taeller < RegneArray.Length; Taeller++)
{
    Resultat += Int32.Parse(RegneArray[Taeller]);
}
Avatar billede ashansen Nybegynder
02. marts 2006 - 22:48 #10
ahh ligemeget
Taeller <= RegneArray.Length skal være

Taeller < RegneArray.Length
Avatar billede nielle Nybegynder
02. marts 2006 - 22:49 #11
Du kan også gøre sådan:

Resultat = 0;
foreach (string Tal in RegneArray)
{
    Resultat += Int32.Parse(Tal);
}
Avatar billede nielle Nybegynder
02. marts 2006 - 22:49 #12
Korrekt :^)
Avatar billede ashansen Nybegynder
02. marts 2006 - 22:55 #13
:)

Jeg har udvidet det lidt, så den også fjerne -'er med følgende
string[] RegneArray = Regnestykke.Split('+', '-');

Kan jeg på nogen måde se om det er + eller - der pilles ud?
Avatar billede nielle Nybegynder
02. marts 2006 - 22:56 #14
Nej, desværre ikke.
Avatar billede ashansen Nybegynder
02. marts 2006 - 22:59 #15
hmm, kan jeg så på nogen måde se om der f.eks. bliver pillet et + ud ved følgende
string[] RegneArray = Regnestykke.Split('+');
Avatar billede nielle Nybegynder
02. marts 2006 - 23:07 #16
Ja. RegneArray.Length giver dig antallet af led efter at der er splittet ved +'erne.

RegneArray.Length = 1 ... ingen +'er
RegneArray.Length = 2 ... 1
RegneArray.Length = 3 ... 2 +'er
RegneArray.Length = 4 ... 3 +'er
osv.
Avatar billede arne_v Ekspert
02. marts 2006 - 23:08 #17
hvis det skal fungere godt skal du have en parser som er noget mere avanceret end Split

hvis du bare skal bruge det, saa er funktionaliteten i .NET (lidt gemt men ...)
Avatar billede ashansen Nybegynder
02. marts 2006 - 23:10 #18
ved du hvor den er gemt henne?
Avatar billede ashansen Nybegynder
02. marts 2006 - 23:12 #19
yes jeg tror jeg holder her
Avatar billede arne_v Ekspert
02. marts 2006 - 23:13 #20
ja - du skal kalde JavaScript's eval funktion

og man kan godt kalde JScript.NET kode fra C#
Avatar billede Syska Mester
02. marts 2006 - 23:16 #21
svar
Avatar billede ashansen Nybegynder
02. marts 2006 - 23:17 #22
vi skal lige have nielle med også
Avatar billede nielle Nybegynder
03. marts 2006 - 06:55 #23
Svar :^)
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