|
You last visited: Today at 19:20
Advertisement
VB.Net String nicht "escapen"
Discussion on VB.Net String nicht "escapen" within the .NET Languages forum part of the Coders Den category.
06/01/2014, 19:48
|
#1
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
VB.Net String nicht "escapen"
Hab noch nicht so viel mit regex gemacht vorallem nicht in VB.
Teil eines Regex patterns ist "\Q" was allerdings diesen fehler verursacht:
Ein Ausnahmefehler des Typs "System.ArgumentException" ist in System.dll aufgetreten.
Zusätzliche Informationen: "\Q" wird analysiert - Unbekannte Escape-Zeichenfolge \Q.
Damit kann ich nichts anfangen.... Habe schon gegoogelt aber nichts dazu gefunden (vielleicht auch das falsche gesucht)
Vielleicht könnt ihr mir ja helfen
|
|
|
06/01/2014, 19:49
|
#2
|
elite*gold: 3800
Join Date: Dec 2012
Posts: 13,039
Received Thanks: 8,243
|
|
|
|
06/01/2014, 20:25
|
#3
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Funktioniert so nicht. Danach funktioniert das pattern nicht mehr und ist auch falsch.
Versucht habe ich es mit Regex.Escape
|
|
|
06/01/2014, 20:35
|
#4
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,480
Received Thanks: 3,319
|
Ich weiß nicht, ob .NET das anders behandelt, aber ein \, das normal zum Escapen verwendet wird (was deine Exception ja auch aussagt), kann mit einem vorangestellten \ escaped werden, also "\\". Geht das bei dir?
|
|
|
06/01/2014, 21:59
|
#5
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by snow911
Ich weiß nicht, ob .NET das anders behandelt, aber ein \, das normal zum Escapen verwendet wird (was deine Exception ja auch aussagt), kann mit einem vorangestellten \ escaped werden, also "\\". Geht das bei dir?
|
ja das hab ich auch schon gelesen und auch probiert...
Das problem ist das das pattern dieses \\ dann auch enthält und es deswegen nicht geht. die fehlermeldung ist dann weg.
In dem fall wie ich es anwende sollte das als pattern benutzt werden :
(?is)\Q"\E(.*?)(?=\Q"\E) welches nicht funktioniert...
(die " müssen in vb so "" geschrieben werden)
Könnte jemand bei sich selbst mal rumprobieren und dann hier schreiben wie es geklappt hat?
(Das og pattern wirft mir die funktion richtig aus und funktioniert auch bei nicht .Net regex testern. Findet in einem text alle strings zwischen "")
|
|
|
06/02/2014, 07:09
|
#6
|
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
|
Snow liegt da schon richtig, normalerweise müsstest du dann alles escapen. Alternativ kannst du auch ein '@' vor den String setzen, dann werden Escape Sequenzen komplett ignoriert.
Code:
new Regex(@"(?is)\Q"\E(.*?)(?=\Q"\E)")....
(Sorry, kann kein VB )
|
|
|
06/02/2014, 12:50
|
#7
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
^ das funktioniert in vb.net afaik nicht
hast du mal das hier ausprobiert?
|
|
|
06/02/2014, 13:42
|
#8
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by tolio
^ das funktioniert in vb.net afaik nicht
hast du mal das hier ausprobiert?
|
ja hab ich probiert ging nicht.
Habe es jetzt ohne das \Q und sowas gemacht.
geht soweit auch hab noch keinen wirklichen nachteil gefunden
Trotzdem währe es gut zu wissen wie das geht
|
|
|
06/04/2014, 08:22
|
#9
|
elite*gold: 0
Join Date: May 2014
Posts: 91
Received Thanks: 28
|
Mal einfach eine blöde Fragen zwischendurch, behandelt VB Escapesequenzen echt so sehr unterschiedlich wie C#? Kann ich mir eigentlich gar nicht vorstellen.
|
|
|
06/04/2014, 10:01
|
#10
|
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
|
Quote:
Originally Posted by マルセル
Mal einfach eine blöde Fragen zwischendurch, behandelt VB Escapesequenzen echt so sehr unterschiedlich wie C#? Kann ich mir eigentlich gar nicht vorstellen.
|
Anscheinend schon. In VB musst du über Konstanten escapen. Die unterstützen kein inline, wie es eigentlich in anderen Sprachen üblich ist.
Siehe
Vielleicht ist ja einfach nur das Regex Pattern falsch.
|
|
|
06/05/2014, 20:51
|
#11
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by Mostey
Anscheinend schon. In VB musst du über Konstanten escapen. Die unterstützen kein inline, wie es eigentlich in anderen Sprachen üblich ist.
Siehe
Vielleicht ist ja einfach nur das Regex Pattern falsch.
|
in c# kommt die gleiche fehlermeldung auch mit @ vor dem string.
Das pattern ist richtig oder verwendet .Net was anderes als \Q \E um normale strings ins pattern einzubeziehen
|
|
|
Similar Threads
|
[VB.net] "escaped unicode" String dekodieren [bsp. "Dave\u0099"]
12/12/2013 - .NET Languages - 4 Replies
Hey,
ich habe ein Problem beim dekodieren von einem "escaped unicode" String. Warum in "" gesetzt? weil ich mir nicht sicher bin, ob der String auch wirklich "escaped unicode" heißt.
Als Beispiel könnt ihr "Dave\u0099" nehmen, wo Dave™ herauskommen muss.
Ein kleiner Ansatz würde mir schon weiterhelfen :)
LG,
Dave
|
All times are GMT +2. The time now is 19:20.
|
|