![]() |
Strip?
Tja, leider nicht das an was ihr gedacht habt :mrgreen: ...
Folgendes: Ich möchte aaus einem String bestimmte Zeichen löschen. Mal als Beispiel: Zitat:
D.h all sollche Sachen wie: $1 $15 $1,1 $15,15 möchte ich aus meinem String raushaben. Habt ihr da ne Idee? Gibt es dafür nen Regex? |
Re: Strip?
Wenn hinter der Zahl zwangsläufig eine nicht-Zahl folgt, kannst du ja einfach soweit löschen.
|
Re: Strip?
Zitat:
Code:
@inherited: Und wenn ein weiteres Komma vorkommt, der String auch am Ende liegen kann uswusf. ? Da vertrau ich lieber auf die Unkompliziertheit meiner Regechsen ;) .
\$\d+(,\d+)?
|
Re: Strip?
@Inherited, so wollte ich es ja nicht *g*. da hab ich dann nachher 20 ifs usw
Khabarakh, danke für Deinen Code :). Kannst Du ihn mir evtl noch verbessern? Hab ka von den Regexen *g. Es geht nicht um das Zeichen "$", sondern ein Steuerzeichen (Char 3). ALso entfernt werden muss: Das Zeichen, dass dem Char "2" entspricht. Das zeichen, dass dem Char "31" entspricht. Das Zeichen, dass dem Char "3" entspricht. Dieser hat wie oben gezeigt evtl Parameter, d.h []nn,nn im längsten fall ([] soll hier das Steuerzeichen 3 darstellen). Es geht darum über IRC empfangene Messages von Fett/Unterstrich/Farbe zu befreien. |
Re: Strip?
Auch in Regular Expressions gibt es glücklicherweise ASCII-Escape-Sequenzen:
Zitat:
Code:
\x03\d+(,\d+)?
|
Re: Strip?
Ah, much thx :).
Wie komme ich danach an das Ergebnis? Ich habe bis jetzt nur per "IsMatch()" geprüft ob ein string einer Maske entspricht..aber noch nie ein Resultat ausgeben lassen. Mit Matches() evtl? Wie sagt ich in einem Regex, dass ich durchgehend ein Zeichen entfern haben möchte? also die [] beziehen sich ja immer nur auf ein Zeichen, nicht auf dne ganzen String oder? |
Re: Strip?
Zitat:
Zitat:
Zitat:
|
Re: Strip?
Ich habe es nun so:
Code:
internal string Strip(string str)
{ Regex regex = new Regex(@"\x03\d+(,\d+)?"); return regex.Match(str).Value; }
Code:
Nun bekomme ich aber genau das wieder, was ich eigentlich gelöscht haben wollte :mrgreen: Also [3]15,15 und das "blubb" ist weg (das was ich ja eigentlich haben möchte*g).
string test = (char)3 + "15,15blubb";
Console.WriteLine(irc.Strip(test)); Console.ReadLine(); Zitat:
|
Re: Strip?
Ich hab doch gesagt, dass Regexes nur zum Suchen da sind ;) . Aber Gefundenes lässt sich natürlich auch entfernen, z.B. eben durch genanntes Regex.Replace().
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz