我們可以用以下兩種形式來表示字符數(shù)組.第一種形式直接提供大小,第二種形式使用dup方法創(chuàng)建字符串" Good morning"。
char[9] greeting1="Hello all";
char[] greeting2="Good morning".dup;
這是使用上述簡單字符數(shù)組形式的簡單示例。
import std.stdio;
void main(string[] args) {
char[9] greeting1="Hello all";
writefln("%s",greeting1);
char[] greeting2="Good morning".dup;
writefln("%s",greeting2);
}
當(dāng)上面的代碼被編譯和執(zhí)行時,它產(chǎn)生的輸出如下:
Hello all
Good morning
這些字符串可與上面顯示的字符數(shù)組互操作,以下示例顯示了一個簡單的字符串表示形式。
string greeting1="Hello all";
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);
}
當(dāng)上面的代碼被編譯和執(zhí)行時,它產(chǎn)生的輸出如下:
Hello all
Good morning
Hello all
D編程中的字符串連接使用tilde(~)符號。
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);
}
當(dāng)上面的代碼被編譯和執(zhí)行時,它產(chǎn)生的輸出如下:
Good morning
Good morning
可以使用length函數(shù)來檢索以字節(jié)為單位的字符串長度。
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);
}
編譯并執(zhí)行上述代碼后,將產(chǎn)生以下輸出-
Length of string greeting1 is 4
Length of string greeting2 is 7
在D編程中,字符串比較非常容易。您可以使用==,<和>運算符進(jìn)行字符串比較。
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, "'.");
}
}
當(dāng)上面的代碼被編譯和執(zhí)行時,它產(chǎn)生的輸出如下:
s2: World and S3: World are the same!
'Hello' comes before 'World'.
我們可以使用string [] replace字符串。
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);
}
當(dāng)上面的代碼被編譯和執(zhí)行時,它產(chǎn)生的輸出如下:
hello sample
在下面的示例中說明了在字符串中包括indexOf和lastIndexOf的子字符串的位置的索引方法。
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));
}
編譯并執(zhí)行上述代碼后,將產(chǎn)生以下輸出-
indexOf.of llo in hello is 2
hello World
lastIndexOf of O in hello is 7
以下示例顯示了用于更改字符示例的方法。
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));
}
編譯并執(zhí)行上述代碼后,將產(chǎn)生以下輸出-
Capitalized string of s1 is Hello world
Uppercase string of s1 is HELLO WORLD
Lowercase string of s1 is hello world
下示例顯示了字符串中的重串字符。
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));
}
編譯并執(zhí)行上述代碼后,將產(chǎn)生以下輸出-
Restrict trailing characters:H123H
Restrict leading characters:ello1
Stripping leading and trailing whitespace:Hello World
更多建議: