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
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.....
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]); }
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
02. marts 2006 - 22:40
#4
Det skal siges at Resultat er af typen int32
02. marts 2006 - 22:41
#5
Resultat = Int32.Parse(RegneArray[0]) + Int32.Parse(RegneArray[1]);
02. marts 2006 - 22:43
#6
Ihhh, lækkert, tusinde tak for hjælpen begge to. Kom i begge med et svar :) Mvh Allan
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?
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]); }
02. marts 2006 - 22:47
#9
Resultat = 0; for (Int32 Taeller = 0; Taeller < RegneArray.Length; Taeller++) { Resultat += Int32.Parse(RegneArray[Taeller]); }
02. marts 2006 - 22:48
#10
ahh ligemeget Taeller <= RegneArray.Length skal være Taeller < RegneArray.Length
02. marts 2006 - 22:49
#11
Du kan også gøre sådan: Resultat = 0; foreach (string Tal in RegneArray) { Resultat += Int32.Parse(Tal); }
02. marts 2006 - 22:49
#12
Korrekt :^)
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?
02. marts 2006 - 22:56
#14
Nej, desværre ikke.
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('+');
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.
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 ...)
02. marts 2006 - 23:10
#18
ved du hvor den er gemt henne?
02. marts 2006 - 23:12
#19
yes jeg tror jeg holder her
02. marts 2006 - 23:13
#20
ja - du skal kalde JavaScript's eval funktion og man kan godt kalde JScript.NET kode fra C#
02. marts 2006 - 23:16
#21
svar
02. marts 2006 - 23:17
#22
vi skal lige have nielle med også
03. marts 2006 - 06:55
#23
Svar :^)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.