Ich habe eine mehrzeilige Zeichenfolge, die ich von einer Datenbank bekomme. Diese Saite würde ein Format wie haben:C# Suche mehrzeilige Zeichenfolge für Schlüsselwort und speichern Variablen
The below text is for the label program
COMPANY=ComanyName
PRODUCT=ProductName
SERIALMASK=123456789YYWWXXXX
Wie gehe ich durch diesen Text und speichern Variablen oder ein Array mit ComanyName, ProductName, 123456789YYWWXXXX
, so kann ich diese Werte in Textboxen auf meinem Windows Forms Application
einfügen?
Meine große Hürde ist, dass manchmal das Format wäre:
The below text is for the label program
Company1 Information:
COMPANY=ComanyName
PRODUCT=ProductName
SERIALMASK=123456789YYWWXXXX
Company2 Information:
COMPANY=ComanyName
PRODUCT=ProductName
SERIALMASK=123456789YYWWXXXX
Und in diesem Fall, ich will nur extrahieren Sie die ersten Vorkommen von COMPANY
, PRODUCT
und SERIALMASK
Variablen.
Jetzt habe ich Code, der jede Zeile in einer Variablen speichert, und ich denke, ich könnte eine Switch-Case-Funktion in der Foreach-Schleife ausführen und nach Teilzeichenfolge suchen. Aber ich hoffe, es ist ein effektiver Weg
Brilliant für das Format der Zeile suchen reguläre Ausdrücke zu verwenden. :) Das funktioniert wunderbar. Ich habe eine 'foreach (var Eintrag in dict) {}' mit einem 'switch-case' gemacht, um nach dem Schlüssel zu suchen, den ich brauche, um die Werte in Textfelder einzugeben. Und alles funktioniert wie es sollte. Aber ich habe mich gefragt. Gibt es eine Möglichkeit, die Werte wie folgt zu extrahieren: 'textBox.Text = dict-where-key = COMPANY.Value' :) Oder ist mein Weg genauso effizient? –
Aufzählen auf den Schlüsseln: string v = dict.AsEnumerable(). Wobei (x => x.Wert == "ProductName"). Wählen Sie (x => x.Key) .FirstOrDefault(); – jdweng
Danke jdweng. Großartige Idee. Arbeitete perfekt, mit einer kleinen Korrektur. 'string v = dict.AsEnumerable() .Wobei (x => x.Key ==" PRODUKT ") Wählen Sie (x => x.Wert) .FirstOrDefault();' Vielen Dank für Ihre Hilfe. –