Befehle für Zeichenkettenmanipulation (Zeichenketten)
Schreiben Sie zu jedem Befehl für Zeichenketten aus dem Theorieteil (s. 7.1 im Buch) ein Beispiel.
0 Kommentare
4 Lösung(en)
# Literal: Wie wird eine Zeichenkette in der Programmiersprache festgelegt?
' das ist eine Zeichenkette '
# Variable: Wie wird eine Zeichenkette einer Variablen zugewiesen (Datentyp)?
s = ' das ist eine Zeichenkette '
# Ausgabe: Wie wird das Literal (bzw. die Variable) auf der Konsole ausgegeben?
print s
# Einlesen: Wie werden Zeichenketten von der Konsole eingelesen ?
s = raw_input('Eingabe :')
print s
# Länge: Wie viele Zeichen hat mein String? Was ist die Maximallänge für Zeichenketten?
laenge = len(s)
print 'Die Zeichenkette hat '+str(laenge)+' Zeichen.'
# Zeichen ermitteln: Wie wird ein einzelnes Zeichen an einer vorgegebenen Position ermittelt?
s = 'Informatik'
# drittes Zeichen
c = s[3]
print c
# Zusammenfügen: Wie werden zwei Strings zu einem neuen String verkettet?
s1 = 'Zusammenfuegen '
s2 = 'von '
s3 = 'Zeichenketten'
s4 = s1+s2+s3
print s4
# Kopieren: Wie kann ich eine Kopie (Klon) meiner Zeichenkette anfertigen?
s = 'Zeichenkettte'
# Bei einer Zuweisung erstellt Python eine Kopie (Klon)
c = s
s = 'neu'
print s
print c
# Suchen: Wie kann ich einen Teilstring in einem String suchen?
s = ' das ist eine Zeichenkette '
n = s.find('ist')
print 'Der Teilstring erscheint an der Stelle '+str(n)
# Prüfen: Wie kann ich prüfen, ein vorgegebenes Muster im String vorkommt?
s = ' das ist eine Zeichenkette '
muster = 'chen'
test = muster in s
print test
# Extrahieren: Wie lässt sich ein Teil (Auszug) des Strings herauskopieren?
s = ' das ist eine Zeichenkette '
s2 = s[14:28]
print s2
# Code des Zeichens: Wie kann ich ein Zeichen in die entsprechende Zahl der Kodierung umwandeln1?
c ='B'
z = ord(c)
print z
# Zeichen des Codes: Wie kann ich eine Zahl in das entsprechende Zeichen der Kodierung umwandeln?
c =chr(66)
print c
# Ziffern und Zahlen: Wie kann ich Zifferzeichen oder Zeichenketten bestehend aus Ziffern in die entsprechende Zahl verwandeln?
s1='345'
s2='101010110'
z1=int(s1)
z2=int(s2,2)
print z1
print z2
# Wie kann ich Zahlen (integer, real) in Strings verwandeln?
z1 = 2343
z2 = 3.14
s1 = str(z1)
s2 = str(z2)
print z1
print z2
public class Zeichenketten {
public static void main(String[] args) {
new Zeichenketten().top();
}
void top() {
System.out.println("'Hopp' \"Schw\u00ffz\"");
System.out.println('#' + 4 + 2 + " != " + '4' + 2);
String s = " u v w x y z ";
String t;
t = s.trim();
System.out.println(s.trim());
System.out.println(t);
/* Länge */
int a = t.length();
System.out.println(a);
/* Zeichen ermitteln */
String b = t;
char result = b.charAt(4);
System.out.println(result);
/* Zusammenfügen */
String c = "Philip";
String d = t + c;
System.out.println(d);
/* Kopieren */
String e = t;
System.out.println(e);
/* Suchen */
if ("Ich bin Hans".contains("Hans")) {
System.out.println("Wilkommen Hans");
} else {
System.out.println("Leider nein");
}
/* Prüfen */
String f = "Hallo";
String suchwort = "a";
boolean ja = f.contains(suchwort);
System.out.println(ja);
/* Extrahieren */
/* Code des Zeichens */
int g = result;
System.out.println(g);
/* Zeichen des Codes */
char h = (char) g;
System.out.println(h);
/* Ziffern und Zahlen */
String eingabe = "5";
int ein = Integer.parseInt(eingabe);
int result1 = ein + ein;
System.out.println(result1);
/* Zahlen verwandeln */
int i = 15;
System.out.println("" + i);
}
}
Lösung von: Philip Belotti (Credit Suisse)
import java.util.Scanner;
public class Zeichenketten {
public static void main(String[] args) {
new Zeichenketten().top();
}
void top() {
/* Literal */
String s = " u v w x y z ";
System.out.println("'Hopp' \"Schw\u00ffz\"");
/* Variable */
String t;
/* Ausgabe */
System.out.println("'Hopp' \"Schw\u00ffz\"");
/* Einlesen */
Scanner scanner = new Scanner(System.in);
String einlesen = scanner.next();
/* Länge */
int a = s.length();
System.out.println(a);
/* Zeichen ermitteln */
String b = s;
char result = b.charAt(4);
System.out.println(result);
/* Zusammenfügen */
String c = "Philip";
String d = s + c;
System.out.println(d);
/* Kopieren */
String e = s;
System.out.println(e);
/* Suchen */
if ("Ich bin Hans".contains("Hans")) {
System.out.println("Wilkommen Hans");
} else {
System.out.println("Leider nein");
}
/* Prüfen */
String f = "Hallo";
String suchwort = "a";
boolean ja = f.contains(suchwort);
System.out.println(ja);
/* Extrahieren */
String j = "Hallo";
String k = j.substring(1, 4);
/* Code des Zeichens */
int g = result;
System.out.println(g);
/* Zeichen des Codes */
char h = (char) g;
System.out.println(h);
/* Ziffern und Zahlen */
String eingabe = "5";
int ein = Integer.parseInt(eingabe);
int result1 = ein + ein;
System.out.println(result1);
/* Zahlen verwandeln */
int i = 15;
System.out.println("" + i);
}
}
Lösung von: Jacob Sharp (Santis Training AG)
let kartoffelsalat;
kartoffelsalat.reset = function() {
this = 'Kartoffelsalat';
}
// string-symbole
// • 'einfache anführungszeichen' *)
// • "doppelte anführungszeichen" *)
// • `template-anführungszeichen` *)
// --------------------------------------
// *) nicht die korrekte typografische bezeichnung
// variablenzuweisung
kartoffelsalat = 'Kartoffelsalat';
kartoffelsalat = "Kartoffelsalat";
kartoffelsalat = `Kartoffelsalat`;
kartoffelsalat = new String('Kartoffelsalat') //!\ besser nicht verwenden!
kartoffelsalat.reset();
// ausgabe auf der konsole
console.log('Kartoffelsalat');
console.log(kartoffelsalat);
// ausgabe im window-dokument
document.write('Kartoffelsalat');
document.write(kartoffelsalat);
// ausgabe über fenster
alert('Kartoffelsalat');
alert(kartoffelsalat);
// einlesen funktioniert nicht von bord aus auf der konsole
// am einfachsten ist ein abfrage-fenster
kartoffelsalat = prompt('Kartoffelsalat?');
// mit vorgabe
kartoffelsalat = prompt('Wie nennt man einen Salat aus Kartoffeln?', 'Äh, Kartoffelsalat?');
// rückgabewert ist immer ein string
kartoffelsalat.reset();
// länge eines strings
console.log (`Kartoffelsalat hat ${kartoffelsalat.length} Buchstaben.`);
// vor ecma2016 (ed. 7) war keine maximallänge für strings definiert.
// funfact:
// im internet kursierten strings von nachkommastellen von ?, die einem
// die festplatte vollschreiben konnten.
// ecma 2016 definiert eine maximallänge von (2^53)-1
for (
kartoffelsalat = 1;
kartoffelsalat <= Math.floor(9007199254740990 / 'kartoffelsalat '.length);
kartoffelsalat++) document.write('Kartoffelsalat ');
kartoffelsalat.reset();
// zeichen an einer bestimmten position im string ermitteln
// (der index des ersten buchstaben ist 0)
console.log(`Der 6. Buchstabe von Kartoffelsalat ist ${kartoffelsalat[5]}`);
console.log(`Der 7. Buchstabe von Kartoffelsalat ist ${kartoffelsalat.charAt(6)}`);
// zusammenfügen zweier strings
kartoffelsalat = 'Kartoffel' + 'salat' // ergibt: 'Kartoffelsalat'
kartoffelsalat = 'Kartoffel'.concat('salat'); // ergibt: 'Kartoffelsalat'
// zusammenfügen mehrerer strings
let k = 'Kar', t = 'toffel', s = 'salat';
kartoffelsalat = k + t + s; // ergibt: 'Kartoffelsalat'
kartoffelsalat = k.concat(t, s); // ergibt: 'Kartoffelsalat'
// string kopieren
let kurfürstKartoffelsalatDerIIe = kartoffelsalat;
// Einen klon (deep copy) eines strings in javascript zu erstellen,
// ist mit einfachen bordmitteln so nicht möglich.
// Schlimm genug, dass das bei arrays der standard ist.
// teilstring in einem string suchen
let x; // ergebnis einer teilstring-suche
x = kartoffelsalat.indexOf('trüffel'); // x = -1 (teilstring nicht vorhanden)
x = kartoffelsalat.indexOf('kart'); // x = 0 (teilstring am anfang)
x = kartoffelsalat.indexOf('toffel'); // x = 3 (teilstring ab index 3 [s.o.])
// gleiches gilt für einzelne zeichen
x = kartoffelsalat.indexOf('y'); // x = -1: »Kartoffelsalat« enthält kein »y«
// teil eines strings extrahieren
let whatKindOfSaladIsThis = kartoffelsalat.slice(0,8); // K ... l aus »Kartoffelsalat«
console.log(`${whatKindOfSaladIsThis.toUpperCase}!`); // output: KARTOFFEL!
// dezimal-code eines zeichens ermitteln
// in javascript: unicode (utf-16)
x = kartoffelsalat.charCodeAt(1); // x = 'a' = 97
// zahl in zeichencode umwandeln
x = fromCharCode(129364); // x ist jetzt das emoji
// für kartoffel (U+1F954)
x = fromCharcode(
75, 97, 114, 116, 111, 102, 102, 101, 108,
115, 97, 108, 97, 116); // x ist jetzt 'Kartoffelsalat'
// einen string in eine zahl umwandeln
x = '0034';
y = parseInt(x); // y = 34
x = '16 tons';
y = parseInt(x); // y = 16
x = '3,14';
y = parseInt(x); // y = 3
x = '3.14';
y = parseFloat(x) // y = 3.14
// &tc.
// eine zahl in einen string umwandeln
let theNumberOfTheKartoffelsalat = 666, str;
str = toString(theNumberOfTheKartoffelsalat); // '666', basis 10 (standard)
str = toString(theNumberOfTheKartoffelsalat, 2); // '1010011010', binär (basis 2)
str = toString(theNumberOfTheKartoffelsalat, 8); // '1232', oktal (basis 8)
str = toString(theNumberOfTheKartoffelsalat, 16); // '29a', hexadezimal (basis 16)
str = '' + theNumberOfTheKartoffelsalat; // '666'
// &c.
// lissalanda@gmx.at
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 2 |
Schwierigkeit: | k.A. |
Webcode: | 8zx2-pfkp |
Autor: | Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch) |