Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 19:20

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



VB.Net String nicht "escapen"

Discussion on VB.Net String nicht "escapen" within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
YatoDev's Avatar
 
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
YatoDev is offline  
Old 06/01/2014, 19:49   #2


 
Requi's Avatar
 
elite*gold: 3800
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,039
Received Thanks: 8,243
Requi is offline  
Thanks
1 User
Old 06/01/2014, 20:25   #3
 
YatoDev's Avatar
 
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
YatoDev is offline  
Old 06/01/2014, 20:35   #4

 
snow's Avatar
 
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?
snow is offline  
Old 06/01/2014, 21:59   #5
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by snow911 View Post
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 "")
YatoDev is offline  
Old 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 )
Mostey is offline  
Old 06/02/2014, 12:50   #7
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
^ das funktioniert in vb.net afaik nicht

hast du mal das hier ausprobiert?
tolio is offline  
Old 06/02/2014, 13:42   #8
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by tolio View Post
^ 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
YatoDev is offline  
Old 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.
マルセル is offline  
Old 06/04/2014, 10:01   #10


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by マルセル View Post
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.
Mostey is offline  
Old 06/05/2014, 20:51   #11
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by Mostey View Post
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
YatoDev is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.