2016-05-23 11 views
0

Also werde ich versuchen, mich besser zu erklären als mein anderer Beitrag. Ich habe zwei Beispielsätze:Ich möchte in der Lage Sätze/Wörter durch eine Zeichenkette zu trennen

NEIGHBORHOOD X ADIDAS CONSORTIUM SUPERSTAR 80 10TH ANNIVERSARY -- BLACKGREY 21

und

ADIDAS STAN SMITH - RED 22

ich einen Code benötigen Sie den Produktnamen, um aus, um die Menge (auch bekannt als erste Zahl) und den Einzelpreis (aka 2. Nummer). Ich versuchte es mit Teilstring und Länge, aber ich konnte es nicht schaffen. Danke für all die Hilfe :)

+0

Sie wahrscheinlich Reguläre Ausdrücke überprüfen, werden wollen. – Bill

Antwort

1

Wenn Sie das Format Ihrer Zeichenfolge sind sicher alwyas die gleiche sein wird, und diese beiden Zahlen werden immer da sein, ich würde vorschlagen, dass Sie String.Split mit char Separator ' ' und Linq verwenden könnten wie folgt (mit Beschreibung):

int[] integersInMyString = myString  .Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries) //splitting all the parts by a space (' ') and removing empty entries 
             .Where(part => int.TryParse(part, out value))     //selecting only the substrnigs that are integers 
             .Select(int.Parse)            //converting the strings to integers, since we've already filtered the ones we can convert 
             .ToArray();              //getting the array from the ienumerable 

Danach konnte man einfach Zugriff auf Ihre zwei benötigten Zahlen unter Verwendung:

integersInMyString[0] //the first integer a.k.a the quantity 
integersInMyString[1] //the first integer a.k.a the individual price 

nach dem Namen Produkt, konnte ich nicht verstehen, welchen Teil genau sollte es sein. Vielleicht könnten Sie String.Substring mit einer Instanz von String.IndexOf verwenden, wenn Sie wissen, was gleich nach dem Namen kommt.

Sie könnten spezifischer mit Ihrer Frage sein, ich werde froh sein, Ihnen zu helfen.

S.S .: Nicht genug Ruf zu kommentieren, entschuldigen Sie, wenn meine Antwort nicht gut genug ist ... Versuchen zu helfen!

0

es mit diesem Code-Snippet Geschehen zusammen mit einem für jeden loop.Thank Sie für die Hilfe man :)

string[] caracteresnastring = item.Split(new char[] { ',' }.ToArray()); 
      string code = caracteresnastring[0]; 
      string name = caracteresnastring[1]; 
      string price = caracteresnastring[2]; 
      string quantity = caracteresnastring[3];