Autor |
Beitrag |
Psylon
Hält's aus hier
Beiträge: 7
|
Verfasst: Sa 30.08.08 23:47
Hallo, ich habe eine Frage und zwar möchte ich in mein C# Projekt folgenden Text filtern:
<ID>1</ID><ID>2</ID><ID>3</ID>
Diesen Text s.o bekommen ich von meinem PHP Script, d.h. ich Poste variablen an mein PHP Script, mein PHP script führt ein querie an meiner MYSQL Datenbank aus und als Antwort bekomme ich dann das mit den ID's.
Nun zu meiner Frage wie filtere ich sowas? Also als ausgabe bzw als gefilterten Text möchte ich dann sowas haben:
1
2
3
Vielen dank im vorraus
mfg
Psylon Moderiert von Christian S.: Topic aus C# - Die Sprache verschoben am So 31.08.2008 um 00:31
|
|
Flitzs
      
Beiträge: 123
Erhaltene Danke: 7
Win7 x64/86 WinServer 2008 R2 x64
C#/C++/C VS2010
|
Verfasst: So 31.08.08 11:34
Hey,
für sowas könntest du die Klasse System.Text.RegularExpressions benützen.
Das könnte dann in etwa so aussehen:
C#-Quelltext 1: 2: 3:
| var input = "<ID>1</ID><ID>2</ID><ID>3</ID>"; var r = new Regex(@"\d"); var output = r.Matches(input); |
mfg Flitzs
|
|
Psylon 
Hält's aus hier
Beiträge: 7
|
Verfasst: So 31.08.08 12:17
Ok erst ma danke das funzt auch schon soweit gut aber könnte man das auch so machen das statt <ID> auch <Dateiname> <Passwort> steht? Also das kann immer verschieden sein
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: So 31.08.08 13:16
Kann es sein, dass Du von Deinem PHP-Skript ein XML bekommst? Dann benutze doch einfach die entsprechenden XML-Klassen.
|
|
Psylon 
Hält's aus hier
Beiträge: 7
|
Verfasst: So 31.08.08 13:18
nein ich bekommt kein XML, aber könntest du mir weiterhelfen?
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: So 31.08.08 13:57
Gerne, wenn Du mal Dein Problem genau schilderst. 
|
|
Psylon 
Hält's aus hier
Beiträge: 7
|
Verfasst: So 31.08.08 14:10
nein ich bekommt kein XML, aber könntest du mir weiterhelfen?
|
|
Flitzs
      
Beiträge: 123
Erhaltene Danke: 7
Win7 x64/86 WinServer 2008 R2 x64
C#/C++/C VS2010
|
Verfasst: So 31.08.08 19:45
Psylon hat folgendes geschrieben: | Ok erst ma danke das funzt auch schon soweit gut aber könnte man das auch so machen das statt <ID> auch <Dateiname> <Passwort> steht? Also das kann immer verschieden sein |
Die Pattern die ich dir gepostet habe liefert dir alle Zahlen in einem String, also solange die Werte die da stehen numerisch sind, ist es egal was in den <> ist (ausser natürlich Zahlen  )
mfg Flitzs
|
|
Flitzs
      
Beiträge: 123
Erhaltene Danke: 7
Win7 x64/86 WinServer 2008 R2 x64
C#/C++/C VS2010
|
Verfasst: So 31.08.08 20:17
Flitzs hat folgendes geschrieben: | Psylon hat folgendes geschrieben: | Ok erst ma danke das funzt auch schon soweit gut aber könnte man das auch so machen das statt <ID> auch <Dateiname> <Passwort> steht? Also das kann immer verschieden sein |
Die Pattern die ich dir gepostet habe liefert dir alle Zahlen in einem String, also solange die Werte die da stehen numerisch sind, ist es egal was in den <> ist (ausser natürlich Zahlen )
mfg Flitzs |
EDIT:
Du könntest auch das Pattern einfach umschreiben das es in etwa so aussehen würde:
C#-Quelltext 1: 2: 3:
| var input = "<Dateiname>Me</Dateiname><Passwort>12345</Passwort>"; var r = new Regex(@"<[A-Za-z0-9]*>|</[A-Za-z0-9]*>"); var output = r.Replace(input, ""); |
Das liefert die alle Zeichen zwischen <> und </>.
Wenn du genauers wissen willst solltest du dich vll mal nach Regex googeln.
mfg Flitzs
|
|
Psylon 
Hält's aus hier
Beiträge: 7
|
Verfasst: So 31.08.08 21:23
Wie gebe ich dass den als messagebox aus?
|
|
Flitzs
      
Beiträge: 123
Erhaltene Danke: 7
Win7 x64/86 WinServer 2008 R2 x64
C#/C++/C VS2010
|
Verfasst: So 31.08.08 21:50
Psylon hat folgendes geschrieben: | Wie gebe ich dass den als messagebox aus? |
Ich würde dir raten, dir doch lieber nochma ein Buch / ein OpenBook anzusehen, das hilft dir wohl mehr als wenn ich dir jetzt die Zeile Code poste.
Moderiert von Christian S.: Beiträge zusammengefasst
Wobei ich mir sicher bin das du die Antwort auf deine Frage in unter 5 Minuten bei Google findest.
mfg Flitzs
|
|
Psylon 
Hält's aus hier
Beiträge: 7
|
Verfasst: So 31.08.08 21:57
Nö..  ich habs schon hinbekommen
|
|
Psylon 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mo 01.09.08 15:52
Also erstmal danke für die ganze Hilf ohne eucht hätte ich das glaubich nie geschaft. Aber eine klitzekleine Frage bleibt noch und zwar mein Code sieht zZ. so aus:
C#-Quelltext 1: 2: 3:
| var input = "<Dateiname>Me</Dateiname><Passwort>12345</Passwort>"; var r = new Regex(@"<[A-Za-z0-9]*>|</[A-Za-z0-9]*>"); var output = r.Replace(input, Environment.NewLine); |
Und so war der alte:
C#-Quelltext 1: 2: 3:
| var input = "<Dateiname>Me</Dateiname><Passwort>12345</Passwort>"; var r = new Regex(@"<[A-Za-z0-9]*>|</[A-Za-z0-9]*>"); var output = r.Replace(input," "); |
der unterschied zum neuen Codei ist dass, dass ich jetzt Statt nen Leerzeichen eine neuen Absatz mache, da liegt auch das problem und zwar wie mache ich das,dass ein Multiline Text in einer Listbox /Listview bekomme? Ich hab schon paar beispiele gesehen aber das ist etwas zu viel Code und außerdem benutze ich mehrere Listboxen, vielleicht kennt Ihr ja ein Tipp?
Gruß
Psylon
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Mo 01.09.08 17:44
Da die Frage nichts mehr mit dem Ausgangsthema zu tun hat und hier auch in der falschen Sparte wäre, möchte ich dich bitten, dafür ein neues Thema aufzumachen  .
_________________ >λ=
|
|