Autor Beitrag
MaxN
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 31.03.16 17:46 
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:

ausblenden 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 31.03.16 18:49 
Der Replacement-Parameter ist nicht nochmal ein Regex. In der Doku 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)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".