Trädvy Permalänk
Medlem
Registrerad
Okt 2006

Dela sträng C#

Jag delar en sträng till två med '-' som brytpunkt med denna koden:

string test = "text - texten";
string[] words = test.Split('-');
string a = words[0];
string b = words[1]

Men ibland får jag detta meddelande:

http://img37.imageshack.us/img37/360/fels.jpg

Varför blir det så?

Kan jag dela upp strängen på ngt bättre sätt?

xbox live

Trädvy Permalänk
Hedersmedlem
Plats
Linköping
Registrerad
Apr 2004

Håll muspekaren över "words" så ser du vad den innehåller.

Trädvy Permalänk
Medlem
Plats
Frillesås
Registrerad
Jun 2009

Ditt problem är att strängen inte innehåller något '-' tecken.
Innan du använder funktionen sprlit kontrollera att det finns ett '-' tecken i strängen. Om det inte finns något '-' tecken så blir det bara en array med 1 element, dvs words[0] och words[1] är inte gilltig.

Trädvy Permalänk
Medlem
Plats
Laholm
Registrerad
Okt 2005

string myStr = "...."; if(myStr.IndexOf("-") > -1) { string[] myStrParts = myStr.Split('-'); if(myStrParts.Length > 1) { // Använd hur du vill. } }

ASP.NET programmerare i C#
Twitter: http://www.twitter.com/hagbarddenstore

Trädvy Permalänk
Medlem
Registrerad
Okt 2006
Citat:

Ursprungligen inskrivet av Cyber-Jedi
Ditt problem är att strängen inte innehåller något '-' tecken.
Innan du använder funktionen sprlit kontrollera att det finns ett '-' tecken i strängen. Om det inte finns något '-' tecken så blir det bara en array med 1 element, dvs words[0] och words[1] är inte gilltig.

Fast i bilden jag länkade till finns det ju ett '-'...?

xbox live

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004

Ta samma screenshot, fast du för muspekaren över variabeln words så att vi ser vad den innehåller. Ser väldigt konstigt ut det där, speciellt att du säger att du får det "ibland".

Trädvy Permalänk
Medlem
Registrerad
Okt 2006

Fick det att funka nu, visade sig att jag blandat ihop '-' med '–'.

xbox live