C#で文字列の指定した開始位置から指定した文字数の文字列を取得するコードを紹介します。
C#では文字列から部分文字列を取り出すには文字列オブジェクトの substringメソッドを利用します。
substringメソッドに開始位置と、文字数を与えれると部分文字列をメソッドの戻り値として返します。開始位置は先頭の文字列を0としてカウントします。
引数を1つのみ与えた場合は、開始位置から文字列の終了までを部分文字列として返します。
下図のUIを作成します。テキストボックスとボタンを配置します。
下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace StringSubstring
{
public partial class FormSimpleSubstring : Form
{
public FormSimpleSubstring()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
string text = "こんにちは! C# の世界にようこそ。";
string subtext = text.Substring(7, 6);
textBox1.Text = subtext;
}
}
}
ボタンをクリックすrと下記のコードを実行します。最初の行で text 変数に "こんにちは! C# の世界にようこそ。" の文字列を代入します。1行目でSubstringメソッドを呼び出しtext変数の文字列の部分文字列を取得します。第一引数が開始位置、第二引数が文字数となります。下記のコードでは、第一引数に7を与えており、0を1文字目として数えるため、text変数の8文字目から、第二に引数に与えた値の、6文字を抜き出す処理となります。
string text = "こんにちは! C# の世界にようこそ。";
string subtext = text.Substring(7, 6);
textBox1.Text = subtext;
上記のプロジェクトを実行します。下図のウィンドウが表示されます。
[button]をクリックします。テキストボックスに元の文字列の7文字目から6文字を抜き出した文字列が表示されます。今回のコードでは元の文字列が「こんにちは! C# の世界にようこそ。」のため、「C# の世界」の文字列がテキストボックスに表示されます。