.NET ヘルプ

開発者向けC# Substring(その仕組み)

公開済み 2024年4月29日
共有:

C#では、Substring メソッド文字列を操作するための必須ツールです。 この関数は、開発者が指定された文字位置に基づいて文字列の一部を抽出することを可能にします。 このガイドの目的は、パブリック文字列の Substring メソッドとIronPDFライブラリ初心者がその使用方法や機能を完全に理解できるように、詳細な例や説明を提供します。

サブストリングメソッドの理解

C#のSubstringメソッドは、Stringクラスのメンバーとして、指定されたパラメータに基づいて最初の文字から操作を可能にします。 指定されたインデックスから文字列の一部を取得し、オプションで指定された位置まで取得するために使用されます。 このメソッドの構文はシンプルで、文字列操作が必要なあらゆるコーディングシナリオに簡単に実装できます。

構文とパラメータ

Substring メソッドには主に2つの形式があります。

public string Substring(int startIndex);
public string Substring(int startIndex, int length);
public string Substring(int startIndex);
public string Substring(int startIndex, int length);
public String Substring(Integer startIndex)
public String Substring(Integer startIndex, Integer length)
VB   C#
  1. public string Substring(int startIndex

(インデックスの開始位置))これは、startIndexから始まり、文字列の終わりまで続く部分文字列を取得します。

  1. public string Substring(スタートインデックス (int startIndex

(インデックスの開始位置))、長さ (int length (長さ)))これは、startIndexから始まり、指定されたlengthの長さの部分文字列を取得します。

パラメータは次のとおりです:

  • int startIndex: これはサブストリングが開始するゼロベースのインデックスです。
  • int length(整数型の長さ):(オプションの)これは2番目のパラメーターです。 これは、返される部分文字列に含める文字数です。

「Substringメソッドの仕組み」

Substring メソッドのプロセスは簡単です。 呼び出されると、指定されたインデックスから始まり、元の文字列から文字を抽出します。(startIndex(スタートインデックス)). length パラメーターが指定された場合、メソッドは指定された文字数を返します。 **length** パラメータがなければ、文字列の終わりまで続きます。 C#でsubstring int32を使用することで、両方のパラメータが(startIndex(開始インデックス)及び length(長さ))整数として扱われ、型の安全性が強制され、潜在的な実行時エラーが防止されます。

サブストリングメソッドの詳細な例

Substring メソッドがどのように実装されているかをよりよく理解するために、その実用的な応用例をいくつか考えてみましょう。

文字列の最後まで抽出する

文字列があり、特定のインデックスから文字列の終わりまで部分文字列を抽出する必要があるとします。 以下のように行います:

// public static void main
public static void Main(string [] args)
{
    string text = "Hello, world!";
    string substring = text.Substring(7);
    Console.WriteLine(substring);
}
// public static void main
public static void Main(string [] args)
{
    string text = "Hello, world!";
    string substring = text.Substring(7);
    Console.WriteLine(substring);
}
' public static void main
Public Shared Sub Main(ByVal args() As String)
	Dim text As String = "Hello, world!"
	Dim substring As String = text.Substring(7)
	Console.WriteLine(substring)
End Sub
VB   C#

出力:

world!
world!
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'world!
VB   C#

この例では、Substringメソッドはインデックス7から開始し、これは「world」の'w'に対応します。!「,」および文字列の終わりまでのすべての文字を取得します。 これ特に、サブストリングの長さが動的または事前に決まっていない場合に役立ちます。

指定された長さの部分文字列の抽出

では、開始インデックスと部分文字列の長さの両方が指定されているシナリオを見てみましょう:

public static void Main(string [] args)
{
    string text = "Hello, world!";
    string substring = text.Substring(7, 5);
    Console.WriteLine(substring);
}
public static void Main(string [] args)
{
    string text = "Hello, world!";
    string substring = text.Substring(7, 5);
    Console.WriteLine(substring);
}
Public Shared Sub Main(ByVal args() As String)
	Dim text As String = "Hello, world!"
	Dim substring As String = text.Substring(7, 5)
	Console.WriteLine(substring)
End Sub
VB   C#

出力:

world
world
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'world
VB   C#

ここでは、部分文字列は7番目の文字から始まり、5文字の長さに及びます。 このメソッドは、サブストリングの境界を正確に制御する必要がある場合に非常に有用です。

配列から部分文字列を取得する

文字列の配列があり、指定された文字の位置と長さに基づいて各文字列から部分文字列を抽出したいとします。 配列を反復処理するためにforeachループを使用し、各文字列にsubstringメソッドを適用できます。

string [] array = { "apple", "banana", "orange" };
foreach (string str in array)
{
    string substring = str.Substring(1, 3); // substring starts from index 1
    Console.WriteLine(substring);
}
string [] array = { "apple", "banana", "orange" };
foreach (string str in array)
{
    string substring = str.Substring(1, 3); // substring starts from index 1
    Console.WriteLine(substring);
}
Dim array() As String = { "apple", "banana", "orange" }
For Each str As String In array
	Dim substring As String = str.Substring(1, 3) ' substring starts from index 1
	Console.WriteLine(substring)
Next str
VB   C#

このコードは以下を出力します:

ppl
ana
ran
ppl
ana
ran
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ppl ana ran
VB   C#

エッジケースの処理

エッジケースを考慮して、ArgumentOutOfRangeExceptionなどのランタイムエラーを回避することが重要です。 substringメソッドを使用する際には、指定された文字位置と長さが元の文字列の範囲内に収まることを確認することが重要です。 そうでない場合、範囲外のインデックス例外が発生する可能性があります。 元の文字列の長さを確認して、そのような例外を避けることができます。 以下は主なポイントです:

  • startIndex は文字列の範囲内でなければなりません。
  • startIndexlengthの合計は、元の文字列の長さを超えてはなりません。
  • startIndex または length に負の値を指定することはできず、エラーが発生します。

インデックスの有効性の確認

エラーを引き起こさないようにサブストリング抽出を確実にするために、チェックを追加できます:

public static void Main(string [] args)
{
    string text = "Hello, world!";
    int startIndex = 7;
    int length = 5;
    if (startIndex >= 0 && startIndex < text.Length && startIndex + length <= text.Length)
    {
        string substring = text.Substring(startIndex, length);
        Console.WriteLine(substring);
    }
    else
    {
        Console.WriteLine("Invalid substring parameters.");
    }
}
public static void Main(string [] args)
{
    string text = "Hello, world!";
    int startIndex = 7;
    int length = 5;
    if (startIndex >= 0 && startIndex < text.Length && startIndex + length <= text.Length)
    {
        string substring = text.Substring(startIndex, length);
        Console.WriteLine(substring);
    }
    else
    {
        Console.WriteLine("Invalid substring parameters.");
    }
}
Public Shared Sub Main(ByVal args() As String)
	Dim text As String = "Hello, world!"
	Dim startIndex As Integer = 7
	Dim length As Integer = 5
	If startIndex >= 0 AndAlso startIndex < text.Length AndAlso startIndex + length <= text.Length Then
		Dim substring As String = text.Substring(startIndex, length)
		Console.WriteLine(substring)
	Else
		Console.WriteLine("Invalid substring parameters.")
	End If
End Sub
VB   C#

このコードブロックは、部分文字列の抽出を試みる前に部分文字列パラメータが有効であることを確認し、潜在的なランタイムエラーを回避します。

IronPDFとC#のSubstringを統合してダイナミックなPDFを作成する

IronPDFは、開発者が.NETアプリケーション内で直接、PDFドキュメントの作成、操作、およびレンダリングを可能にする強力なPDFライブラリです。 それによりHTMLからPDFへの変換カスタマイズされた美しいPDFドキュメントを作成するのに役立ちます。 IronPDFは、HTMLからPDFを生成する、PDFをエクスポートする、既存のPDFを編集するなど、多岐にわたるPDF操作をサポートしており、.NET環境でPDFファイルを扱うための包括的なツールキットを提供します。

HTML to PDF conversion in IronPDF is incredibly straightforward.HTMLからPDFへ簡単にレイアウトとスタイルをそのまま保持しながら、 ウェブベースのコンテンツ、レポート、請求書、資料などからPDFを作成するには、このツールが非常に便利です。 HTMLファイル、URL、およびHTML文字列はシームレスにPDFファイルに変換できます。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "https://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "https://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "https://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
VB   C#

IronPDFとC#のSubstringメソッドを組み合わせることで、PDF変換前にテキストの操作や抽出が必要なPDFドキュメントを生成する際に非常に役立ちます。 例えば、大量のテキストブロックから特定の情報を抽出し、それをPDF形式で提示する必要がある場合、Substringメソッドを使用して目的のテキストを抽出し、IronPDFを使用してこのテキストをPDFドキュメントに変換することができます。

コード例: 抽出した文字列からPDFを生成する方法

次のシナリオを考えてみましょう。重要な情報が指定されたインデックスに含まれている大きなテキストがあり、その情報を抽出してPDFファイルを生成する必要がある場合です。 以下は、IronPDFとC#のSubstringメソッドを使用してこれを実現するためのステップバイステップの例です。

using IronPdf;
using System;
public class PdfGenerator
{
    public static void Main(string [] args)
    {
        License.LicenseKey = "License-Key";
        // Original large text from which we need to extract information
        string originalText = "IronPDF helps you generate PDF documents in .NET applications easily. Discover more about IronPDF at the official site.";
        // Using the Substring method to extract the part of the string that talks about IronPDF
        string importantInfo = originalText.Substring(0, 65);  // Extracts the first sentence
        // Create a PDF document with IronPDF
        var renderer = new ChromePdfRenderer();
        // Convert the extracted text to PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>Extracted Information</h1><p>{importantInfo}</p>");
        // Save the PDF to a file
        pdf.SaveAs("ExtractedInfo.pdf");
        // Confirmation output
        Console.WriteLine("PDF generated successfully with extracted information.");
    }
}
using IronPdf;
using System;
public class PdfGenerator
{
    public static void Main(string [] args)
    {
        License.LicenseKey = "License-Key";
        // Original large text from which we need to extract information
        string originalText = "IronPDF helps you generate PDF documents in .NET applications easily. Discover more about IronPDF at the official site.";
        // Using the Substring method to extract the part of the string that talks about IronPDF
        string importantInfo = originalText.Substring(0, 65);  // Extracts the first sentence
        // Create a PDF document with IronPDF
        var renderer = new ChromePdfRenderer();
        // Convert the extracted text to PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>Extracted Information</h1><p>{importantInfo}</p>");
        // Save the PDF to a file
        pdf.SaveAs("ExtractedInfo.pdf");
        // Confirmation output
        Console.WriteLine("PDF generated successfully with extracted information.");
    }
}
Imports IronPdf
Imports System
Public Class PdfGenerator
	Public Shared Sub Main(ByVal args() As String)
		License.LicenseKey = "License-Key"
		' Original large text from which we need to extract information
		Dim originalText As String = "IronPDF helps you generate PDF documents in .NET applications easily. Discover more about IronPDF at the official site."
		' Using the Substring method to extract the part of the string that talks about IronPDF
		Dim importantInfo As String = originalText.Substring(0, 65) ' Extracts the first sentence
		' Create a PDF document with IronPDF
		Dim renderer = New ChromePdfRenderer()
		' Convert the extracted text to PDF
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf($"<h1>Extracted Information</h1><p>{importantInfo}</p>")
		' Save the PDF to a file
		pdf.SaveAs("ExtractedInfo.pdf")
		' Confirmation output
		Console.WriteLine("PDF generated successfully with extracted information.")
	End Sub
End Class
VB   C#

C# Substring(開発者向けの動作方法):図1

このプロセスは、テキスト操作とPDF作成を統合する簡単な方法を示しており、大規模なテキストから特定の情報を抽出して提示する必要があるレポートやドキュメントの生成に特に役立ちます。

結論

C# Substring(開発者向けの動作方法):図2

C#のSubstringメソッドは文字列操作のための強力なツールであり、指定された文字の位置に基づいてテキストの一部を簡単に抽出することができます。 この方法を理解し活用することにより、幅広いテキスト処理タスクを効果的に扱うことができます。 アプリケーションの堅牢性を維持するために、エッジケースを考慮し、インデックスを検証することを忘れないでください。 IronPDFは開発者向け無料トライアル製品のライセンスは749ドルからです。

< 以前
C# 小数点以下第2位までに丸める方法(開発者向けの動作原理)
次へ >
C# オプション引数 (開発者向けの動作方法)