Wie kürze ich einen String?

Es wird eine Zeichenkette und eine positve ganze Zahl übergeben.Die Zeichenkette sill von rechts her verkürzt werden und zwar genau um so viel Zeichen wie die positive Zahl angibt,

Beispiel: Zeichenkette : „Hallo, Welt“
positive ganze Zahl ist: 2
dann heißt die Zeichenkette „Hallo, We“

Freu mich auf Antworten! Dion

Ich denke mal du sprichst von Java. Da machst du das am besten mit substring.

String s = „Hallo, Welt“;
int i = 2;
s = s.substring(0,s.length()-i);

Gruß

Nein in C

In welcher Programmiersprache?
In Java:
String str = „Hallo Welt“;
int n = 2;
System.out.println(str.substring(0, str.length()-n));

Übrigens: Fragen zu Programmierthemen würde ich auf Englisch auf stackoverflow.com stellen.

Hallo Dion,
leider bin ich kein Experte für dieses Problem, weiss nicht, wie du auf mich gekommen bist.
Wünsche dir viel Erfolg
Jasmine

btw: du solltest deine Anfragen auch auf die Implementierungssprache hin präzisieren.

In C gibts einige Stringfunktionen, die du verwenden kannst: http://de.cppreference.com/w/cpp/string/byte
Für deinen Zweck würde die Funktion ‚strncpy‘ gehen…
Beispiel:

#include
#include

main(){
const n = 2;
const char* from = „01234567“;
char *to = (char*) malloc(strlen(from)-n);
strncpy(to, from,strlen(from)-n);
}

Du kannst es auch mittels Buffer machen:

const n = 2;
char *buff = „01234567“;
char subbuff[strlen(buff)-n];
memcpy( subbuff, &buff[0], strlen(buff)-n );

Der Code ist nicht getestet, also kann es sein, dass er nicht funktioniert. Solltest du allerdings weitere Fragen diesbezüglich haben, findest du im Netz genügend Lesestoff unter den Begriffen: Substring C/C++

Grüße Uli

Hallo Dion,

das ist abhängig von der Programmiersprache und Deiner Programmierumgebung. In der Programmiersprache Java könnte der Quellcode zur Lösung Deiner Aufgabe z.B. so aussehen:
String text = „Hallo Welt“;
String bsp = StringUtils.substring(text, text.length() - 3);

Der Befehl StringUtils.substring erzeugt einen Teilstring aus dem String in ‚text‘. Der zweite Parameter sagt, an welcher Position der neue String beginnen soll.
In einer anderen Programmiersprache würde Deine Aufgabe wahrscheinlich völlig anders gelöst werden - aber auch in Java führen viele Wege nach Rom (wie man so sagt).

String var = „Hallo Welt“;
int cut = 2;
String newVar = var.substring(0,var.length()- cut);
System.out.println(newVar);

In welcher Sprache soll der Code denn geschrieben werden? Gute Anhaltspunkte in den meisten Sprachen sind Funktionen wie Substring oder Ähnliche, die entweder als Methode auf ein Stringobjekt aufgerufen werden oder als nicht objektbezogene Funktion irgendwo in der Sprache existieren.

in C
Danke

Ok. C ist jetzt natürlich ein blödes Beispiel für eine solche Funktion. Denn C hat nativ keine Strings sondern nutzt char-Arrays für viele „String“-Funktionalitäten.
Wie hast du den String denn gebaut?

Vielleicht sowas wie für Substring-Funktionalität:

#include
#include

main(){
const char* from = „12345678“;
char *to = (char*) malloc(6);
strncpy(to, from+2, 5);
}