Pemrograman D - String
D menyediakan dua jenis representasi string berikut -
- Array karakter
- String bahasa inti
Array Karakter
Kami dapat mewakili array karakter di salah satu dari dua bentuk seperti yang ditunjukkan di bawah ini. Formulir pertama memberikan ukuran secara langsung dan formulir kedua menggunakan metode dup yang membuat salinan string "Selamat pagi" yang dapat ditulis.
char[9] greeting1 = "Hello all";
char[] greeting2 = "Good morning".dup;
Contoh
Berikut adalah contoh sederhana menggunakan formulir array karakter sederhana di atas.
import std.stdio;
void main(string[] args) {
char[9] greeting1 = "Hello all";
writefln("%s",greeting1);
char[] greeting2 = "Good morning".dup;
writefln("%s",greeting2);
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan sesuatu sebagai berikut -
Hello all
Good morning
String Bahasa Inti
String adalah bawaan dari bahasa inti D. String ini dapat dioperasikan dengan array karakter yang ditunjukkan di atas. Contoh berikut menunjukkan representasi string sederhana.
string greeting1 = "Hello all";
Contoh
import std.stdio;
void main(string[] args) {
string greeting1 = "Hello all";
writefln("%s",greeting1);
char[] greeting2 = "Good morning".dup;
writefln("%s",greeting2);
string greeting3 = greeting1;
writefln("%s",greeting3);
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan sesuatu sebagai berikut -
Hello all
Good morning
Hello all
Penggabungan String
Rangkaian string dalam pemrograman D menggunakan simbol tilde (~).
Contoh
import std.stdio;
void main(string[] args) {
string greeting1 = "Good";
char[] greeting2 = "morning".dup;
char[] greeting3 = greeting1~" "~greeting2;
writefln("%s",greeting3);
string greeting4 = "morning";
string greeting5 = greeting1~" "~greeting4;
writefln("%s",greeting5);
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan sesuatu sebagai berikut -
Good morning
Good morning
Panjang String
Panjang string dalam byte dapat diambil dengan bantuan fungsi panjang.
Contoh
import std.stdio;
void main(string[] args) {
string greeting1 = "Good";
writefln("Length of string greeting1 is %d",greeting1.length);
char[] greeting2 = "morning".dup;
writefln("Length of string greeting2 is %d",greeting2.length);
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Length of string greeting1 is 4
Length of string greeting2 is 7
Perbandingan String
Perbandingan string cukup mudah dalam pemrograman D. Anda dapat menggunakan operator ==, <, dan> untuk perbandingan string.
Contoh
import std.stdio;
void main() {
string s1 = "Hello";
string s2 = "World";
string s3 = "World";
if (s2 == s3) {
writeln("s2: ",s2," and S3: ",s3, " are the same!");
}
if (s1 < s2) {
writeln("'", s1, "' comes before '", s2, "'.");
} else {
writeln("'", s2, "' comes before '", s1, "'.");
}
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan sesuatu sebagai berikut -
s2: World and S3: World are the same!
'Hello' comes before 'World'.
Mengganti String
Kita bisa mengganti string menggunakan string [].
Contoh
import std.stdio;
import std.string;
void main() {
char[] s1 = "hello world ".dup;
char[] s2 = "sample".dup;
s1[6..12] = s2[0..6];
writeln(s1);
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan sesuatu sebagai berikut -
hello sample
Metode Indeks
Metode indeks untuk lokasi substring dalam string termasuk indexOf dan lastIndexOf dijelaskan dalam contoh berikut.
Contoh
import std.stdio;
import std.string;
void main() {
char[] s1 = "hello World ".dup;
writeln("indexOf of llo in hello is ",std.string.indexOf(s1,"llo"));
writeln(s1);
writeln("lastIndexOf of O in hello is " ,std.string.lastIndexOf(s1,"O",CaseSensitive.no));
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
indexOf.of llo in hello is 2
hello World
lastIndexOf of O in hello is 7
Menangani Kasus
Metode yang digunakan untuk mengubah kasus ditunjukkan pada contoh berikut.
Contoh
import std.stdio;
import std.string;
void main() {
char[] s1 = "hello World ".dup;
writeln("Capitalized string of s1 is ",capitalize(s1));
writeln("Uppercase string of s1 is ",toUpper(s1));
writeln("Lowercase string of s1 is ",toLower(s1));
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Capitalized string of s1 is Hello world
Uppercase string of s1 is HELLO WORLD
Lowercase string of s1 is hello world
Membatasi Karakter
Karakter pembatas dalam string ditunjukkan pada contoh berikut.
Contoh
import std.stdio;
import std.string;
void main() {
string s = "H123Hello1";
string result = munch(s, "0123456789H");
writeln("Restrict trailing characters:",result);
result = squeeze(s, "0123456789H");
writeln("Restrict leading characters:",result);
s = " Hello World ";
writeln("Stripping leading and trailing whitespace:",strip(s));
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Restrict trailing characters:H123H
Restrict leading characters:ello1
Stripping leading and trailing whitespace:Hello World