C# 入門 & 実践 / C sharp
4-16. 文字列操作 - 2 - コピーと変換
文字列コピー
・文字列や部分文字列を別の文字列または Char 型の配列にコピーするには、Copy と CopyTo を使用。
・元の文字列の一部分から 1 つ以上の新しい文字列を作成するには、Substring メソッドと Split メソッドを使用。1 つ以上の部分文字列から新しい文字列を作成するには、Concat メソッドと Join メソッドを使用。
文字列変更
・文字列の全体または一部を変更するには、Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd、および TrimStart を使用。
・文字列内の Unicode 文字の大文字/小文字を変更するには、ToLower、ToLowerInvariant、ToUpper、ToUpperInvariant の各メソッドを使用。
コピー、連結、分割
static void Main()
{
string iroha = "ABCいろはABC";
string aiu = "ABCあいう";
int ret = 0;
// Copy : Char[] にコピー
// char[] c0; // 初期化しない。
// iroha.CopyTo(1, c0,0,3);
// エラー:未割り当てのローカル変数が使用されました!
char[] c1 = new char[3];
// iroha の 1 文字目から , c1 の 0 から長さ分コピー
iroha.CopyTo(1, c1, 0, c1.Length);
for (int i = 0; i < c1.Length; i++)
{
Console.WriteLine(" CopyTo 1 : {0}", c1[i]);
}
// String.Copy : string にコピー
aiu = String.Copy(iroha);
iroha = "xyz";
Console.WriteLine(" String.Copy 1 : {0}", aiu);
// = : 演算子これでも同じ
aiu = iroha;
Console.WriteLine(" String.Copy 2[ = ] : {0}", aiu);
// Part2
iroha = "ABCいろはABC";
aiu = "ABCあいう";
// 新しい文字列
string str3;
// 部分コピー:iroha の3文字目からをコピー
str3 = iroha.Substring(3);
Console.WriteLine(" Substring : {0}", str3);
// 2 文字だけコピー
str3 = iroha.Substring(3,2);
Console.WriteLine(" Substring2 : {0}", str3);
// 文字列分解
String[] str4 = iroha.Split('B');
//
for (int i = 0; i < str4.Length; i++)
{
Console.WriteLine(" Split {0} : {1}", i,str4[i]);
}
// 文字連結!
str3 = String.Concat(aiu,iroha);
Console.WriteLine(" String.Concat : {0}", str3 );
// + : + 演算子で連結
str3 = aiu + iroha;
Console.WriteLine(" String.[ + ] : {0}", str3);
// Join : 文字列配列を連結!
str3 = String.Join("+", str4);
Console.WriteLine(" String.Join : {0}", str3);
}
CopyTo 1 : B
CopyTo 1 : C
CopyTo 1 : い
String.Copy 1 : ABCいろはABC
String.Copy 2[ = ] : xyz
Substring : いろはABC
Substring2 : いろ
Split 0 : A
Split 1 : CいろはA
Split 2 : C
String.Concat : ABCあいうABCいろはABC
String.[ + ] : ABCあいうABCいろはABC
String.Join : A+CいろはA+C
文字列変更
static void Main()
{
string iroha = "ABCいろはABC";
// Insert : 挿入
string str3 = iroha.Insert( 3, " |Insert| " );
Console.WriteLine(" Insert : {0}", str3 );
// Replase : char 置換
str3 = iroha.Replace( 'C','X' );
Console.WriteLine(" Replace : {0}", str3);
// Remove
str3 = iroha.Remove(5);
Console.WriteLine(" Remove : {0}", str3);
// PadLeft , PadRight
str3 = iroha.PadLeft(3);
Console.WriteLine(" PadLeft : {0}", str3); // 元が3より長いので全てコピーされます。
str3 = iroha.PadLeft(20);
Console.WriteLine(" PadLeft : {0}", str3); // 20 文字無いので、残りはスペースで埋められます。
str3 = iroha.PadLeft(20, '-');
Console.WriteLine(" PadLeft : {0}", str3); // '-'を指定したので '-'で埋められます。
str3 = iroha.PadRight(20, '-');
Console.WriteLine(" PadRight : {0}", str3); // 右側が埋められます。
// Trim : スペース除去!
string str4 = " HELLO! ";
str3 = str4.Trim();
Console.WriteLine(" Trim : |{0}|", str3); // 両側のスペースが削られます!
str3 = str4.TrimEnd();
Console.WriteLine(" TrimEnd : |{0}|", str3); // 右のスペースが削られます!
str3 = str4.TrimStart();
Console.WriteLine(" TrimStart : |{0}|", str3); // 左のスペースが削られます!
}
Insert : ABC |Insert| いろはABC
Replace : ABXいろはABX
Remove : ABCいろ
PadLeft : ABCいろはABC
PadLeft : ABCいろはABC
PadLeft : -----------ABCいろはABC
PadRight : ABCいろはABC-----------
Trim : |HELLO!|
TrimEnd : | HELLO!|
TrimStart : |HELLO! |
まぁ知っていれば損はないって感じですね。使うときに調べれば十分でしょう。
4-15. 文字列操作 - 1 - 比較 インデックス «
4. C# 入門 Level 2 »
4-17. 文字列操作 - 3 - フォーマット, sprintf
C# 入門 & 実践 / C sharp