Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
文字列.Length / IndexOf()
文字列の長さを取得する『Length』プロパティと、指定した文字・文字列が最初に現れる位置を調べる『IndexOf()』メソッドです。
構文
// 文字列の長さ(文字数)を取得します。 文字列.Length // 指定した文字・文字列が最初に現れるインデックスを返します。見つからない場合は -1 を返します。 文字列.IndexOf(string value) 文字列.IndexOf(string value, int startIndex) // 指定した文字・文字列が最後に現れるインデックスを返します。見つからない場合は -1 を返します。 文字列.LastIndexOf(string value)
メソッド一覧
| メンバー | 概要 |
|---|---|
| Length | 文字列の文字数を整数で返します。空文字列の場合は 0 になります。 |
| IndexOf(string value) | 指定した文字列が最初に現れるインデックス(0始まり)を返します。見つからない場合は -1 を返します。 |
| IndexOf(string value, int startIndex) | startIndex の位置から検索を開始し、最初に現れるインデックスを返します。 |
| LastIndexOf(string value) | 指定した文字列が最後に現れるインデックスを返します。見つからない場合は -1 を返します。 |
サンプルコード
using System;
string あいさつ = "こんにちは、世界!";
// Length で文字数を取得します。
Console.WriteLine(あいさつ.Length); // 9
// IndexOf() で文字の位置を調べます。
int 位置 = あいさつ.IndexOf("世界");
Console.WriteLine(位置); // 6
// 見つからない場合は -1 が返ります。
int なし = あいさつ.IndexOf("xyz");
Console.WriteLine(なし); // -1
// startIndex を指定して途中から検索します。
string パス = "C:/users/akiba/documents/akiba.txt";
int 最初 = パス.IndexOf("akiba");
int 次 = パス.IndexOf("akiba", 最初 + 1);
Console.WriteLine(最初); // 8
Console.WriteLine(次); // 25
// LastIndexOf() で最後の出現位置を取得します。
string 文 = "あいうあいうあいう";
Console.WriteLine(文.LastIndexOf("あ")); // 6
概要
『Length』は文字列が持つプロパティ(メソッドではない)で、呼び出し時に括弧は不要です。C# の文字列はインデックスが 0 始まりで、日本語の全角文字も 1 文字としてカウントされます。
『IndexOf()』は大文字・小文字を区別します。区別せずに検索したい場合は IndexOf(value, StringComparison.OrdinalIgnoreCase) を使用してください。
文字列の切り出しには『Substring() / Remove()』、文字の置換や含有チェックには『Replace() / Contains()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。