.NET TIPS

文字列中の1文字を取得するには?

デジタルアドバンテージ
2004/01/09

 ある文字列から、指定した位置にある1文字を取得するには、C#ではStringクラス(System名前空間)に実装されているインデクサを利用する。インデクサにより文字列(String)を文字(Char)の配列のようにして扱うことができる。

 次のサンプル・プログラムは、十二支の漢字を並べた12文字の文字列から、今年のえとに該当する1文字を表示する。

// getchar.cs

using System;

public class GetCharInString {
  static void Main() {

    string eto = "子丑寅卯辰巳午未申酉戌亥";
    int index = (DateTime.Now.Year - 4) % 12;

    Console.WriteLine(eto[index]); // 出力例:申
  }
}

// コンパイル方法:csc getchar.cs
文字列に対してインデクサを利用したC#のサンプル・プログラム(getchar.cs)

 Visual Basic .NET(以下VB.NET)ではインデクサに直接アクセスできない。代わりに、文字列に対してStringクラスのCharsプロパティを利用する。このプロパティのパラメータには取得したい文字の位置を指定する。

' getchar.vb

Imports System
Imports Microsoft.VisualBasic

Class GetCharInString
  Shared Sub Main

    Dim eto As String = "子丑寅卯辰巳午未申酉戌亥"
    Dim index As Integer = (Now.Year - 4) Mod 12

    Console.WriteLine(eto.Chars(index)) ' 出力例:申

    Console.WriteLine(GetChar(eto, index + 1)) ' 出力例:申
  End Sub
End Class

' コンパイル方法:vbc getchar.vb
文字列に対してCharsプロパティを利用したVB.NETのサンプル・プログラム(getchar.vb)

 上記のプログラムの最後に示したように、VB.NETには文字列中の文字を取得するためのGetChar関数(関数の第1パラメータに対象となる文字列、第2パラメータに取得する文字の位置を1始まりの番号で指定する)も用意されているが、わざわざこの関数を使う必要はないだろう。

 ちなみに、あるクラスがインデクサを実装している場合、VB.NETからはデフォルトではそれをItemプロパティとしてアクセスできる。この「Item」という名前は、IndexerName属性(System.Runtime.CompilerServices名前空間)をインデクサの定義の前に付けることにより変更することができる。End of Article

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)
使用ライブラリ:GetChar関数(Microsoft.VisualBasic名前空間)
使用ライブラリ:IndexerName属性(System.Runtime.CompilerServices名前空間)
 
この記事と関連性の高い別の.NET TIPS
文字と文字列を変換するには?
文字列中の指定された位置の文字列を取得するには?
文字列から特定の文字列を取り除くには?
文字列の長さを取得するには?
文字列を1文字ずつ解析するには?(サロゲート文字対応)
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間