Hi @all,
ich bin auf der Suche nach einer Methode die Sonderzeichen in einem String ersetzt.
PROBLEM: Die Sonderzeichen möchte ich nicht selbst bestimmen bzw. im Code angeben, sondern auf eine bereits von MS definierte Char-Menge zurückgreifen.
das ganze könnte in etwa so aussehen:
string x = String.Replace(strInput, MengeDefinierterSonderzeichenMicrosoft, "zu ersetzen durch");
UND NICHT SO
string x = String.Replace(strInput, Char[ [!"§$$%&&//(/)] ], "zu ersetzen durch");
weiß jemand ob das geht?
mfg
mex
que? como? no entiendo!!!!!
dann mach doch:
char[] MengeDefinierterSonderzeichenMicrosoft = Char[ [!"§$$%&&//(/)] ] //pseudocode
string x = String.Replace(strInput, MengeDefinierterSonderzeichenMicrosoft, "zu ersetzen durch");
ich verstehe dein anliegen nicht so richtig. wenn du weißt woher du die zeichen bekommst, kannst du auch die replace methode damit versorgen...
Hi,
zuerst danke für die antwort und hier mein problem:
Char[ [!"§$$%&&//(/)] ] //pseudocode
genau diese pasage aus deinem kommentar ist mir nicht klar. ich möchte die zeichen nicht selbst definieren, sondern sie irgendwo her nehmen z.b.
char[] MengeDefinierterSonderzeichenMicrosoft = "Nimm alle Zeichen der von microsoft definierten Menge)
ist dass vertsändlicher?
greets
mex
que? como? no entiendo!!!!!
was ist wenn ein text einen zeilenumbruch enthält, oder inen tap-stop?
que? como? no entiendo!!!!!
Nimm alle Zeichen der von microsoft definierten Menge Die Definition ist doch immer Sache vom Integrator.
Microsoft macht ja nur default Vorschläge z. Bsp. bei einem Validator-Control in welchem bereits vordefinierte Filter für E-Mail Adressen sind. Meinst Du sowas in der Art?
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
Menge manuell definieren: [$%&/]
Menge "alle Zeichen der von Microsoft definierten Menge": in der msdn vorhandene Methode die alle Zeichen zurückgibt, die Microsoft als Sonderzeichen einstuft.
--> @schaedld - so in etwa, ein vorschlag einer menge an sonderzeichen aus dem hause mircosoft.
jetzt erklärt? ich weiß gerade nicht wie ich es anderst verständlicher machen kann :S sry !!!
que? como? no entiendo!!!!!
Was verstehst du unter Sonderzeichen?
Per Regex hat man die Möglichkeit zum Beispiel darauf einzuschränken, dass nur Buchstaben ( [A-Z][a-z] ) und nur Zahlen ( [0-9] ) erlaubt sind. Damit sind alle Sonderzeichen und Whitespaces draussen.
@ Mossi
bedeutet dass, das auch tabstop und zeilenumbrüche rausgenommen werden?
dann ist es mit regex möglich zu sagen, der text darf nur Buchstaben, Zahlen und Whitspaces (Leerzeichen) enthalten, richtig?
que? como? no entiendo!!!!!
Hallo The_Mexican,
du hast irgendwo eine Array von Zeichen, gell? Daraus kannst du doch sehr einfach einen String machen. Jetzt musst du dich nur noch um die Besonderheiten von Regex kümmern. Am einfachsten wird es sein, wenn du vor jedes Zeichen in dem String, das keiner der 26 Buchstaben ist, einen Backslash schreibst. Leerzeichen und Tabs sollten sollten nicht stören. Wenn sie dich stören, schmeiß sie raus. Anschließend noch [ ] vor und hinter den String zu setzen, sollte auch nicht die Klippe sein.
herbivore
also wenn ich es richtig verstanden habe:
ich habe einen string x der enthält zahlen, buchstaben, tapstop, zeilenumbruch, ....
definiere ich jetzt für regex ein muster (pattern) patX:
*[^0-9][^A-Z][^a-z]
und verwende
RegEx rgx = new RegEx(patX)
rgx.Replace(strX, "")
dann würde ich einen stringX erhalten der folgenden inhalt hat:
zahl buchstabebuchstabebuchstabe zahlBUCHSTABEbuchstabe zahl
ist das so richtig verstanden worden von mir?
greets
mex
-> danke für die hilfe bereits an dieser stelle 😉
que? como? no entiendo!!!!!
danke für die info, werd ich mir anschauen und danke nochmal für eure hilfe
ich habe hier noch einen interessanten link bzgl whitespace ersetzten:
hier der codeauszug für die zeichenfolge <1 leerzeichen:
// Create a regular expression that matches a series of one
// or more white spaces.
string pattern = @"\s+";
\s+ --> >1 leerzeichen
und hier ein link der mir pers. geholfen hat die regex-geschichte schneller zu verstehen:
Example how to use pattern with regex
danke und noch einen schönen tag 😉
greets
mex
Nachtrag:
hier das pattern für mein problem:
// define pattern
string patternAlphanummeric = @"[^a-zA-Z0-9]";
Regex rex = new Regex(patternAlphanummeric);
// execute
string input = ".....";
string editByRegEx = rex.Replace(input, " ");
que? como? no entiendo!!!!!