Entwickler-Ecke

Basistechnologien - richTextBox Regex


MaxN - Do 31.03.16 17:46
Titel: richTextBox Regex
Hey,

Ich habe diese Query "INSERT INTO test VALUES ('12540', 0x54657374, 0x54657374, '2', '1', '0', '1');"
Wie man sieht sind Spalte 1 u 2 Charset Big5 Hexcodes.
Füge ich diese in meiner DB ein wertet sie die Codes aus und es stehen logischerweise Chinesische zeichen in der Spalte anstatt die Hexcodes.
Jetzt wollte ich versuchen die Codes als String mit 2 Hochkommas zu versehen, damit meine DB denkt es sei ein String.
Input verläuft über eine RichTextBox, also so wie eine SQL Konsole. (sql.CommandText = richTextBox1.Text;)

Ich habe es bisher so versucht:


C#-Quelltext
1:
Regex.Replace(richTextBox1.Text, @", (0[xX])?[0-9a-fA-F], "@", '(0[xX])?[0-9a-fA-F]', ");                    

Doch das funktionierte nicht.
Hat da jemand eine Idee?

Mfg :)


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Do 31.03.2016 um 18:41
Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - Do 31.03.16 18:49

Der Replacement-Parameter ist nicht nochmal ein Regex. In der Doku [http://msdn.microsoft.com/EN-US/library/e7f5w83z(v=VS.110,d=hv.2).aspx] gibt es weiter unten auch ein Quelltext-Beispiel.

Außerdem:
(0[xX])? - soll das wirklich optional sein?
[0-9a-fA-F] - das ist genau ein Zeichen, Du willst aber mehrere matchen, da sollte also ein "+" hinter, denn nach dem "x" kommt ja mindestens noch ein Zeichen (sonst könnte es auch "*" sein)