Hallo Leute,
ich möchte gerne ein String in 2er Blöcke unterteilen und anschließend in ein String array speichern damit ich die Blöcke Reversen kann.
z.B so.
Code (Text):
string text = "123456";
int blockgroeße = 2;
int stringLength = text.Length;
for (int i = 0; i < stringLength; i += blockgroeße)
{
if (i + blockgroeße > stringLength) blockgroeße = stringLength - i;
string neu = text.Substring(i, blockgroeße);
Console.WriteLine(neu);
}
Das Ergebnis sollte dann so aussehen: 214365
Wie kann ich nun die Blöcke in ein Array schreiben und Reversen ?
Liebe Grüße und ein angenehmes Wochenende,
Movementroboter
Hey,
Für das Umdrehen gibt es Array.Reverse. Es gibt sogar eine Variante, wo man inline nur einen Teil eines Array umdrehen kann. Das wäre für dich perfekt. Für strings direkt gibt es keine solche Hilfsmethoden. Daher am besten zu Beginn einmal in ein Char-Array umwandeln, alles umdrehen in den Blöcken und am Ende wieder zu einem String umwandeln:
string text = "123456";
int chunkSize = 2;
char[] chars = text.ToCharArray();
for (int i=0; i<chars.Length; i+=chunkSize)
{
Array.Reverse(chars, i, Math.Min(chunkSize, chars.Length - i));
}
string result = new String(chars);
System.Console.WriteLine(result);
beste Grüße
zommi
Hallo zommi,
Danke für die Antwort und den tollen Tipp mit der Inline Variante 🙂🙂🙂
Habe es auch hinbekommen aber bisschen umfangreicher 😁
string test1= "12" ;
char[] b = test1.ToCharArray();
Array.Reverse(b);
test1= new string(b);
string test2= "34";
char[] c = test2.ToCharArray();
Array.Reverse(c);
test2= new string(c);
string test3= "56";
char[] d = test3.ToCharArray();
Array.Reverse(d);
test3 = new string(d);
Liebe Grüße,
Movementroboter
Hallo Movementroboter,
naja, das würde ich schon per Schleife machen.
Wie zommi richtig sagt, sollte man zum Bearbeiten den String in eine char-Array umwandeln, dass dann bearbeiten und am Ende wieder einen String daraus machen.
Da du immer nur zwei benachbarte Zeichen (=Array-Elemente) vertauschen willst, kann man das auch mit einem einfachen Dreieckstausch tun.
String-Verarbeitung gehört allerdings zu den Grundlagen, die wir voraussetzen. Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
herbivore