Entwickler-Ecke

Basistechnologien - String nach einer Zahl dursuchen und bearbeiten


passchecker - Fr 25.07.08 11:23
Titel: String nach einer Zahl dursuchen und bearbeiten
Hi all,

ich hab schon die Suchen Funktion benutzt und hab mir auch schon einiges zusammenreimen können. Aber mein Problem ist leider noch nicht ganze gelöst:

Hier mal der Beispiel-Code: (C#)

C#-Quelltext
1:
string a = "abc1234def321adc";                    

Und ich möchte jetzt den string nach einer Zahl dursuchen und wenn eine gefunden wird dann soller er, NACH der Zahl eine ")" machen. Das ist natürlich völlig unnütz in dem Beispiel aba wenn ich euch den ganzen Code posten würde wäre es zu lange.

Meine Idde war mittels der Replace Funktion:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
using System.Text.RegularExpressions;
.
.
.
string a = "abc1234def321adc";
string regel = @"\d{2,}";//Ziffen 0-9 mit 2 Stellen oder mehr
Regex re = new Regex(regel);
a = re.Replace(a,")");

Console.WriteLine(a); // Das Ergebnis wäre abc)def)adc

Natürlich kann man hiermit nur Zahlen ersetzten, aba kennnt jemand vielleicht einen befehl der zuerst nach einer Zahl sucht und danach etwas anfügt?

Danke schon mal im voraus!

cu
passchecker


bakachan - Fr 25.07.08 11:36
Titel: Re: String nach einer Zahl dursuchen und bearbeiten
user profile iconpasschecker hat folgendes geschrieben:
Und ich möchte jetzt den string nach einer Zahl dursuchen und wenn eine gefunden wird dann soller er, NACH der Zahl eine ")" machen.


Wie wärs wenn anstatt die Zahl durch eine Klammer zu ersetzen, die Zahl durch die Zahl und eine Klammer ersetzt?

also anstelle von

C#-Quelltext
1:
a = re.Replace(a,")");                    

einfach

C#-Quelltext
1:
a = re.Replace(a,a+")");                    


Christian S. - Fr 25.07.08 11:41
Titel: Re: String nach einer Zahl dursuchen und bearbeiten
user profile iconbakachan hat folgendes geschrieben:
also anstelle von

C#-Quelltext
1:
a = re.Replace(a,")");                    

einfach

C#-Quelltext
1:
a = re.Replace(a,a+")");                    
"a" ist doch der gesamte String, das dürfte so nicht klappen. So könnte es gehen:


C#-Quelltext
1:
2:
3:
4:
5:
6:
string a = "abc1234def321adc";
string regel = @"(\d{2,})";//Ziffen 0-9 mit 2 Stellen oder mehr
Regex re = new Regex(regel);
a = re.Replace(a,"$1)");

Console.WriteLine(a); // Das Ergebnis wäre abc)def)adc


Ach ja, :welcome: passchecker!


passchecker - Fr 25.07.08 12:46

Viele Dank für die schnellen Antworten.
Jedoch schreibt er mir jetzt nach jeder 2-stelligen Zahl eine oder sogar 2 Klammern. Gibt es irgendeine Möglichkeit ,dass er nur nach der kompletten Zahl eine ")" setzt?

EDIT: sry funktioniert eh alles ;)
hatte noch einen falschen code drinnen.

BIG thx Christian :D


passchecker - Fr 25.07.08 15:00

so mir ist jetzt noch ne frage eingefallen:

kann man von diesem string der zahlen enthält alle Zahlen herausfiltern(also nicht die einzelnen Ziffern sondern Zahlen) und summieren?
Wenn ja, wie ;)

danke
passchecker


Christian S. - Fr 25.07.08 15:03

Hallo!

Bitte erstelle für neue Fragen auch jeweils neue Threads, sonst wird das zu durcheinander. Vor allem könnte man sonst nicht mehr am Titel erkennen, worum es in dem Thread geht.

Danke! :-)

Grüße
Christian