27. april 2007 - 12:32
Der er
20 kommentarer og 1 løsning
splitte tekst op til et array
Hej, Det jeg har brug for, at at en tekst (fra tekstboks) bliver splittet ud i de ord der er hvor delingen skal ligge ved mellemrum. De ord, jeg så får ud vil jeg have en i ny, hvor jeg så tilføjer noget (til databasen, så jeg går igennem alle ord, der bliver skrevet) Jeg har følgende kode (som jeg har fundet i vb og forsøgt at oversætte til c#).....men den fejler ved Ubound (The name 'Ubound' does not exist in the current context) Hvad skal jeg skrive istedet for i for løkken, så den tester på, om det er sidste ord i array'et, så den ikke skriver OR med....? Koden: protected void btnAdvancedSeek_Click(object sender, EventArgs e) { string tekst = txtIngredienser.Text; string strSQLstatementIngredienser = ""; string[] a = tekst.Split(new char[] { ' ' }); //a = tekst.Split(" "); for (int i = 0; i <= Ubound(a); i++) { if (i == Ubound(a)) { strSQLstatementIngredienser += "Ingredienser=" + a(i); } else { strSQLstatementIngredienser += "Ingredienser=" + a(i) + " OR "; } } } mvh simsen :-)
Annonceindlæg fra Jobindex
27. april 2007 - 12:41
#1
prøv: a.Count
27. april 2007 - 12:44
#2
sorry, skulle have været: a.Length
27. april 2007 - 13:05
#3
altså: for (int i = 0; i < a.Length; i++) { }
27. april 2007 - 19:04
#4
Hejsa Mikkel Hvordan finder jeg så hvad der er højeste værdi..... Den jeg jo skal spørge på, for at finde ud af, om der skal OR på eller ej i tekststrengen? Der er jo nemlig ingen a.count mvh simsen :-)
27. april 2007 - 19:12
#5
if (i == a.Length-1)
27. april 2007 - 23:02
#6
Jeg går snart grassat......... Jeg har følgende kode nu, og får en "Index was outside the bounds of the array" fejl. Min kode: protected void btnAdvancedSeek_Click(object sender, EventArgs e) { string tekst = txtIngredienser.Text; string strSQLstatementIngredienser = ""; string[] a = tekst.Split(new char[] { ' ' }); for (int i = 0; i <= a.Length; i++) { if (i == a.Length - 1) { strSQLstatementIngredienser += "Ingredienser=" + a[i -1] + " AND "; } else { strSQLstatementIngredienser += "Ingredienser=" + a[i -1]; } } Label1.Text = strSQLstatementIngredienser.ToString(); panAdvancedSearchPositive.Visible = true; panSeekAdvanced.Visible = true; } Jeg har læst mig til på diverse sider på nettet, at det er fordi mine tal ikke stemmer overens......og jeg kan se, at det er i linierne: strSQLstatementIngredienser += "Ingredienser=" + a[i -1] + " AND "; strSQLstatementIngredienser += "Ingredienser=" + a[i -1]; Jeg kan jo så gætte mig til, at det nok er i: a[i -1] det er galt....Det fordi, jeg slet og ret ikke aner, hvordan jeg får udskrevet tekst arrayets tekst felt....nogen der gider forklare mig det? mvh simsen :-)
27. april 2007 - 23:29
#7
27/04-2007 13:05:35
27. april 2007 - 23:30
#8
OG selvfølgelige bare: a[i]
27. april 2007 - 23:42
#9
Hejsa erik, Jeg har skrevet den fra kl. 13:05:35 Jeg har også forsøgt med strSQLstatementIngredienser += "Ingredienser=" + a[i] + " AND ";' og strSQLstatementIngredienser += "Ingredienser=" + a[i]; men får stadig fejlen Index was outside the bounds of the array Line 198: strSQLstatementIngredienser += "Ingredienser=" + a[i]; Så der må være et eller andet i koden, der ikke fungererer? mvh simsen :-)
27. april 2007 - 23:50
#10
Vis den kode du har - de to ting skulle gøre det.
27. april 2007 - 23:56
#11
protected void btnAdvancedSeek_Click(object sender, EventArgs e) { string tekst = txtIngredienser.Text; string strSQLstatementIngredienser = ""; string[] a = tekst.Split(new char[] { ' ' }); for (int i = 0; i <= a.Length; i++) { if (i == a.Length - 1) { strSQLstatementIngredienser += "Ingredienser=" + a[i] + " AND "; } else { strSQLstatementIngredienser += "Ingredienser=" + a[i]; } } Label1.Text = strSQLstatementIngredienser.ToString(); panAdvancedSearchPositive.Visible = true; panSeekAdvanced.Visible = true; }
27. april 2007 - 23:57
#12
Du skal lige gøre som før sagt: 27/04-2007 13:05:35
28. april 2007 - 00:00
#13
Hmmmmmmmm Det HAR jeg da gjort - på linie 9? Altså jeg skriver for (int i = 0; i < a.Length; i++) { if (i == a.Length - 1) osv } Eller skal jeg også gøre det et andet sted? mvh simsen :-)
28. april 2007 - 00:01
#14
Den kode du viser har: <= Men den kode jeg henviser til har: <
28. april 2007 - 00:01
#15
hov ser lige nu - det har jeg jo ikke - jeg skriver <= Gider du forklare mig hvorfor der ikke må stå =? mvh simsen :-)
28. april 2007 - 00:03
#16
Fordi dit array går fra 0 til lenght-1
28. april 2007 - 00:07
#17
Ok......selvfølgelig gør det det....tænker mig ikke om i dag *suk* Så - nu tror jeg, jeg vil vente til i morgen, med at få teksten over i den funktion, der skal bruge det for at hente fra databasen..... Jeg takker mange gange for hjælpen. Smid et svar og du får dine velfortjente points :-) mvh simsen :-)
28. april 2007 - 07:42
#18
Nej tak, jeg samler slet ikke på point, tak.
28. april 2007 - 08:35
#19
Erik Det er også rigtigt.....men buddet skal du have... Mikkel får dem i stedet så. Jeg takker endnu engang Mikkel Smid et svar og du får dine points mvh simsen :-)
Lukker denne her - hvis du vil have pointsene på et tidspunkt Mikkel, så sig til :-)
Jamen jo tak (har været på ferie så derfor har jeg ikke svaret dig).
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.