Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Regex: In einem Durchgang Komma durch Punkt *und* Punkt durch Komma ersetzen
gpc44
myCSharp.de - Member



Dabei seit:
Beiträge: 27
Herkunft: D

Themenstarter:

Regex: In einem Durchgang Komma durch Punkt *und* Punkt durch Komma ersetzen

beantworten | zitieren | melden

Hi,
gibt es eine Möglichkeit, in einem String in einem Durchgang Punkt durch Komma und Komma durch Punkt zu ersetzen.

_oldVal String = "111.222.333,444.555,6.77,8000";
=> Result
_newVal String = "111,222,333.444,555.6,77.8000";

(
Danke
LG
Nicole

etwa so: idealerweise mit Regex und in 1 Zeile ;)

 static void Main(string[] args)
        {
            String a = "111.222.333,444.555,6.77,8000";
            string z = a.Replace(".", ",")
                        .Replace(",", ".");

            Console.WriteLine(z);
            Console.ReadKey();
        }
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von gpc44 am .
LG
Nicole
private Nachricht | Beiträge des Benutzers
Lars Schmitt
myCSharp.de - Experte

Avatar #avatar-2240.jpg


Dabei seit:
Beiträge: 2335
Herkunft: Witten

beantworten | zitieren | melden

Hallo gpc44,

wie wäre es hiermit


var newStr = new Regex(@",|\.").Replace(input, match => match.Value == "." ? "," : ".");

Viele Grüße
Lars
private Nachricht | Beiträge des Benutzers
gpc44
myCSharp.de - Member



Dabei seit:
Beiträge: 27
Herkunft: D

Themenstarter:

beantworten | zitieren | melden

Hi Lars,

Du bist ein held.
Danke Dir!
LG
Nicole
LG
Nicole
private Nachricht | Beiträge des Benutzers
dr4g0n76
myCSharp.de - Experte

Avatar #avatar-1768.jpg


Dabei seit:
Beiträge: 3047
Herkunft: Deutschland

beantworten | zitieren | melden

Hallo Nicole.

Dazu fällt mir etwas ein.

Falls Du deswegen Komma und Punkt ersetzen willst, weil Du später mit diesen Zahlen Rechnen willst, empfiehlt sich unbedingt:

System.Globalization

Beachtung zu schenken.
Da in verschiedenen Ländern 1000er Trennzeichen und Komma verschieden sind. Sonst wirst Du immer mit Suchen und Ersetzen arbeiten müssen.
.NET und C# haben aber schon alles dazu an Board.

Kurz: Du solltest für String/Zahlen-Konvertierungen nie irgendeine Funktion "Mach Komma aus Punkt" oder umgekehrt benötigen.

Just my two cents.

dr4g0n76
Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.
private Nachricht | Beiträge des Benutzers
Parso
myCSharp.de - Member



Dabei seit:
Beiträge: 160

beantworten | zitieren | melden

Falls du es nicht kennst : Expresso...damit kann man regex's erstellen und testen.

vg
Wenn's zum weinen nicht reicht, lach drüber!
private Nachricht | Beiträge des Benutzers
CoLo
myCSharp.de - Member



Dabei seit:
Beiträge: 232

beantworten | zitieren | melden

Auch ein gutes Tool von herbivore :
On-the-fly Regex-Tester: Regex-Lab
private Nachricht | Beiträge des Benutzers