Doppelte Zeichen finden und auf ein Zeichen kürzen
Hallo!
Ich habe so meine liebe Not mit den Regular Expressions
Was ich möchte ist eigentlich einfach beschrieben: Ich habe einen String, z.B. "ABCCCDEFCE" und ich weiß, daß das Zeichen "C" mehrmals nacheinander vorkommt. Der String soll gekürzt werden, sodaß am Ende "ABCDEFCE" übrig bleibt. Was ich nicht weiß ist, wie oft "C" nacheinander vorkommt. Der String könnte auch "ABCCDEFCCE" oder "ABCCCCCCCCCDEFCCCE" lauten und soll am Ende trotzdem "ABCDEFCE" sein.
Wie stell ich das an?
Grüße
Cody
Ich habe so meine liebe Not mit den Regular Expressions
Was ich möchte ist eigentlich einfach beschrieben: Ich habe einen String, z.B. "ABCCCDEFCE" und ich weiß, daß das Zeichen "C" mehrmals nacheinander vorkommt. Der String soll gekürzt werden, sodaß am Ende "ABCDEFCE" übrig bleibt. Was ich nicht weiß ist, wie oft "C" nacheinander vorkommt. Der String könnte auch "ABCCDEFCCE" oder "ABCCCCCCCCCDEFCCCE" lauten und soll am Ende trotzdem "ABCDEFCE" sein.
Wie stell ich das an?
Grüße
Cody
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 114238
Url: https://administrator.de/contentid/114238
Ausgedruckt am: 19.11.2024 um 09:11 Uhr
7 Kommentare
Neuester Kommentar
in perl:
$s='aabbe$cd&&ZZdd efggh}h';
$s=~y/!-}/!-}/s; # Alles von ! bis } Ascii 33-126
print $s;
mfg ... FW
$s='aabbe$cd&&ZZdd efggh}h';
$s=~y/!-}/!-}/s; # Alles von ! bis } Ascii 33-126
print $s;
- Erg:"abe$cd&Zd efgh}h"
mfg ... FW
echo preg_replace('/[C]{2,}/', 'C', 'ABCCCCCCABCCACCB');
.. meinst du so !?
http://regexp-evaluator.de/tutorial/
Ein einfache? LOGISCHE Lösung (ohne spez. Programiersprache) wäre:
for i=1 to max # über alle char's, hier nur kurz
if (char_akt == char_old) then
next for # wie auch immer in der jeweligen Sprache
else
new_string=new_string + char_akt # halt ne Stringverkettung
char_old=char_akt
end if
end for
mfg ... FW
for i=1 to max # über alle char's, hier nur kurz
if (char_akt == char_old) then
next for # wie auch immer in der jeweligen Sprache
else
new_string=new_string + char_akt # halt ne Stringverkettung
char_old=char_akt
end if
end for
mfg ... FW