Autor Beitrag
passchecker
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 25.07.08 11:23 
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#)
ausblenden 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Fr 25.07.08 11:36 
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
ausblenden C#-Quelltext
1:
a = re.Replace(a,")");					

einfach
ausblenden C#-Quelltext
1:
a = re.Replace(a,a+")");					
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 25.07.08 11:41 
user profile iconbakachan hat folgendes geschrieben:
also anstelle von
ausblenden C#-Quelltext
1:
a = re.Replace(a,")");					

einfach
ausblenden 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:

ausblenden 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!

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
passchecker Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.