02.02 Zeichenketten, Strings
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 54 | |
Author | ||
License | CC Attribution - NonCommercial - ShareAlike 3.0 Germany: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/9655 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Producer |
Content Metadata
Subject Area | |
Genre |
Informatik 2, Sommer 201110 / 54
1
2
9
10
11
13
17
37
38
43
45
46
47
50
51
53
54
00:00
String (computer science)Function (mathematics)NumberIndexZahlLengthVariable (mathematics)Social classAdditionJavaScriptLogical constantFile formatC++KlassenbibliothekEvent-driven programmingComputer animation
05:39
Function (mathematics)String (computer science)Programmer (hardware)Inequality (mathematics)AdditionZahlLengthKAM <Programm>Social classDiffuser (automotive)KlassenbibliothekNumberComputer animation
Transcript: German(auto-generated)
00:02
Zeichenketten, eine andere elementare Klasse. Hier kommen schon Zeichenketten vor, konstante Zeichenketten. String haben Sie schon gesehen. String hat auch extrem bequeme Funktionen drinnen.
00:23
Ich kann eine Zeichenkette einfach bauen, indem ich das als konstante angebe. Was habe ich jetzt? G? H habe ich noch nicht. Sie geben einfach etwas an. A, B, C, Sternchen oder korylische Zeichen oder was denn sonst so einfällt.
00:44
Eine Zeichenkette bauen. Jetzt können wir Zeichenketten G, H, I zusammenbauen. Sie können sagen, zu dieser Zeichenkette H addiere. Dieses Plus hat anscheinend eine andere Bedeutung gekriegt.
01:00
Dass so etwas passieren kann, haben Sie schon bei den Plusgleich gesehen. Bei den Ereignissen. Plusgleich ist ja auch nicht die Addition einer Funktion zu einem Ereignis gewesen. Hier dieses Plus ist auch nicht wirklich eine Addition, sondern ist die Aneinanderhängung von Strings. Hier kann ich jetzt x, y, z zum Beispiel, Sternchen, Plus eine Variable.
01:21
Was hatten wir oben an Variablen? Ach, da hatten wir noch gar nichts. D hatten wir aber in D. Plus D hänge ich da dran und ich hänge noch etwas dran. Sternchen, u, v, v. So kann ich Zeichenketten bauen. Mit der Addition ganz dreist, wo man in C dieses Concatenation brauchte.
01:45
Die Funktion zum Zeichenketten aneinander hängen, schreiben Sie einfach Plus und Zeichenketten hängen hintereinander. Und Sie können zum Beispiel Zahlen einfach so dazwischen hängen. Er ruft einfach automatisch von den Zahlen die Stringfunktion auf.
02:02
Diese Zahl wird automatisch in eine Zeichenkette verwandelt. Das geht genauso in Java und das geht genauso in JavaScript. In C++ ist es etwas anders gelöst. Da hat man plötzlich diese Symbole hier in anderer Bedeutung.
02:27
Die Sternchen haben gleich einen Sinn. Die Sternchen sind jetzt erst mal nur dazu da, um hier irgendwelchen Texte zu produzieren. Gleich kriegen die Sternchen einen Sinn. Aber erst mal ist das Sternchen hier nur ein Sternchen, ohne dass es etwas tut. Ich möchte gleich diese Zeichenkette auseinander nehmen an einem Sternchen.
02:43
Aha. Ich kann jetzt fragen, was denn die Länge von dieser Zeichenkette ist. Int j ist gleich i. Length. Ups, das ist wie erwartet. Sie können Teile von der Zeichenkette bilden.
03:03
G, H, I, J, K. In dem wir zum Beispiel sagen, i substring. Bilde mir einen Teil der Zeichenkette von bis Startindex Länge. Also bilde mir zum Beispiel den Teil von Startindex 2 Länge 3.
03:24
Was rauskommt, hat also dann 3. Ist 3 Zeichen lang. Ich kann fragen, ob die Zeichenkette mit einem bestimmten Zeichenfolge anfängt.
03:40
Starts with das hier. Fängt die denn jetzt mit der Zeichenkette abc, das müsste dann wahr ergeben. Fängt die Zeichenkette i mit abc an. Kann ich fragen, je nachdem ist das wahr oder falsch. Ich will Ihnen einfach nur zeigen, was im Prinzip drin ist. Wenn Sie irgendeine Funktion dieser Sorte suchen, tippen Sie einfach i.
04:04
Und gucken, ob das passende dabei ist. Höchstwahrscheinlich ist das passende dabei. So dass Sie eine Idee kriegen, was denn so typischerweise eingebaut ist. In so einer Klassenbibliothek. Sie können fragen, wo etwas bestimmtes vorkommt. I, J, K, L, M. Das heißt vielleicht etwas unglücklich.
04:22
Index off. Das heißt also nicht find. Wo ich es jetzt vermutet hätte, unter find. Das heißt index off. Bei welchem Index steht zum Beispiel die Zeichenkette x, y, z? Als Teil der Zeichenkette i. Das ist eine Suchfunktion. Wenn Sie wollen.
04:41
Sagt Ihnen, wo denn die Zeichenkette x, y, z in der Großen steht. Und jetzt der Grund für die Sternchen. Wo Sie sich schon fragen. Ich kann eine Zeichenkette zersplitten. Zerlegen. Mit Hilfe von Trennzeichen.
05:02
N. Ich kann sagen, zerlege diese Zeichenkette split. Mit Hilfe der Sternchen. Das war der Grund, weshalb ich da Sternchen eingesetzt habe. Denken Sie sich an ein Dateiformat. Was mit Sternchen getrennt ist.
05:21
Oder was mit Tabulaturen, mit Kommandant, mit Semikolons getrennt ist. Sie trennen einfach dann beim Semikolon. Und kriegen ein Array von den ganzen Bestandteilen raus. Das gucken wir uns an.
05:43
So, ich drücke einfach mal f10, statt dass ich klicke. H. Wo ist H? Da ist H. H ist a, b, c, Sternchen. I wird jetzt werden. Ich nehme a, b, c, Sternchen, hänge ich sozusagen Sternchen dahinter. Die Zahl d und dann Sternchen u, v, w. Das ist i, a, b, c, Sternchen, x, y, z, Sternchen 1, 2, 3.
06:03
Weil die Zahl 123, Sternchen u, v, w. Addition von Zeichenketten. Heißt einfach jetzt aneinander hängen. Die Länge j ist 15. Ist das lang? Das sieht nicht plausibel aus. Eine Teilkette vom zweiten. Ich sollte sagen, vom Zeichen mit der Nummer 2.
06:20
0, 1, 2. Vom Zeichen mit der Nummer 2. Drei Stück. Ist k, c, Sternchen x. Das Zeichen mit der Nummer 2. A ist die Nummer 0. B ist die Nummer 1. C ist die Nummer 2. Drei Zeichen. C, Sternchen x. Also starts with. Fängt es mit a, b, c an? Ja, es fängt mit a, b, c an.
06:44
Ich frage, wo x, y, z drin steht. Das ist m. Bei 4. Wenn Sie gucken. 0, 1, 2, 3, 4. Ab dem Zeichen mit der Nummer 4 steht x, y, z drin. Und hier kommt jetzt das Splitten. N. Hier oben mal auf N sind vier Teilstrecken.
07:03
Das sind die vier Teilstrings, die durch Sternchen getrennt waren. Also alles, was in dieser Art an Funktionen geht, ist garantiert eingebaut. Bemühen Sie die Dokumentation, um das herauszufinden, wie es jeweils heißt. Lohnt sich nicht, das irgendwie auswendig zu lernen. Es ist garantiert drin, wenn es von dieser Art ist. In jeder ordentlichen Klassenbibliothek muss das einfach drin sein.
07:23
Und das ist eine ordentliche Klassenbibliothek hier. Das ist die Nummer 4. Und abschließend die Nummer 5. Vergleichen von Zeichenketten. Hier sehen Sie, die Addition ist schon zweckentfremdet, um Zeichenketten aneinander zu hängen.
07:43
Und ganz üblich in allen Klassenbibliotheken quer durch die Sprachen ist, dass man die Gleichheit dann wirklich als Gleichheit von Zeichenketten benutzt. Also ich kann jetzt sagen, if die Zeichenkette I, das ganz schöne Name für eine Zeichenkette ist, vielleicht gleich mal bei H,
08:00
stelle fest, ob die Zeichenkette H gleich der Zeichenkette La ist. Und wenn das so ist, tue ich irgendwas. So sieht das dann aus. Wo Sie in C das String Compare bemühen mussten, ist das hier dann einfach mit Gleich, gleich, als ob es Zahlen wären.
08:20
Ist das, was in H steht, dieselbe Zeichenkette wie La? Das geht in allen üblichen, besseren Sprachen genauso. Okay, mir fällt gerade eine Ausnahme an. Wenn es um Swap geht, müssen Sie vielleicht an einigen Stellen aufpassen, aber die C-ähnlichen Sprachen sind typischerweise dann so gebaut. C selbst nicht, aber in den größeren Sprachen ist es dann so gebaut.
08:42
Das ist der Vergleich auf Gleichheit. Der Vergleich im Alphabet ist dann leider doch etwas anders. Da brauchen wir so etwas wie Compare to. Compare to und die Zeichenkette, mit der ich vergleiche. Zum Beispiel D. Und da kommt jetzt ein Wert größer oder kleiner Null raus,
09:03
oder genau Null, bei Gleichheit. Das ist wie die String Compare Funktion in C. Wenn das der Fall ist, tue dieses oder jenes. Das ist der alphabetische Vergleich. Also hier die Zeichenkette Compare to Funktion und die Zeichenkette, mit der Sie vergleichen. Sie können hier natürlich irgendwas nehmen.
09:23
Hauptsache ist eine Zeichenkette. Hier können Sie natürlich auch mit der Zeichenkette I vergleichen. Ich habe jetzt hier nur anschauungshalber letztlich sofort eine Zeichenkette reingeschrieben. Das Compare to Funktion funktioniert wie String Compare in C. Es gibt minus eins, plus eins oder Null.
09:40
Bei Gleichheit Null. Und je nach Stellung im Alphabet minus eins oder plus eins. Und ich kann mir nie merken, was rum. Also auch ein Fall wieder für die Hilfe. Ob das jetzt nun größer Null heißt, wir sind im Alphabet davor oder im Alphabet danach.