.NET 幫助

C# 子字串(開發者如何運作)

發佈 2024年4月29日
分享:

在 C# 中,Substring 方法是一個操作字串的基本工具。 此函數允許開發人員根據指定的字元位置提取字串的一部分。 本指南旨在詳細說明公共字串 Substring 方法和IronPDF 庫,提供詳細的範例和解釋,以幫助初學者充分理解其使用方法和功能。

瞭解 Substring 方法

C# 中的 Substring 方法是 String 类的成员,允許根據指定的參數從第一個字元開始操作。 它用於從指定的索引開始檢索字串的一部分,並且可選擇地,直到指定的位置。 此方法的語法簡單明瞭,便於在任何需要字符串操作的編碼情境中實施。

語法和參數

Substring 方法有兩種主要形式:

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(起始索引)這會取得從 startIndex** 開始並持續到字串結尾的子字串。

  2. public string Substring(int startIndex, int length):這會從startIndex開始檢索一個子字串,且具有指定的length

    所涉及的參數有:

    • int startIndex:這是子字串開始的以零為基準的索引。
    • int 長度:(可選的)這是第二個參數。 這是要包含在返回的子字串中的字符數目。

子字串方法的工作方式

Substring 方法的過程很簡單。 被呼叫時,它會從原始字串中的指定索引位置開始提取字元。(startIndex). 如果提供了length參數,方法將返回指定數量的字符。 如果沒有 length 參數,它會繼續直到字串結束。 在 C# 中使用 substring int32 可以確保兩個參數(起始索引和長度)被視為整數,強制類型安全並防止潛在的運行時錯誤。

子字串方法的詳細範例

為了更好地理解 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#

這裡,子字串從第七個字符開始,長度為五個字符。 當你需要精確控制子字串的邊界時,這個方法非常有用。

從字串陣列中提取子字串

假設你有一個字串陣列,想要從每個字串中根據指定的字符位置和長度提取子字串。 您可以使用 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 的總和不得超過原始字串的長度。
  • startIndexlength 的負值是不允許的,並將導致錯誤。

檢查索引的有效性

為確保子字串提取不會導致錯誤,您可以添加檢查:

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#

這段程式碼塊在嘗試提取子字串之前確保子字串參數是有效的,從而避免潛在的運行時錯誤。

在 C# 中整合 IronPDF 與 Substring 以動態創建 PDF

IronPDF是一個強大的PDF庫,允許開發人員在其.NET應用程式中直接建立、操作和渲染PDF文件。 它允許HTML 轉換為 PDF這有助於創建自定義且美觀的 PDF 文件。 IronPDF 支援一系列的 PDF 操作,包括從 HTML 生成 PDF、匯出 PDF、編輯現有的 PDF,以及更多功能,提供一個全面的工具包,用於在 .NET 環境中處理 PDF 檔案。

IronPDF 使轉換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 格式呈現,您可以使用 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# 子字串(對開發者的運作方式):圖 1

此過程展示了一種整合文本操作和 PDF 創建的簡單方法,這對於需要從較大文本中提取並呈現特定信息的報告或文檔生成特別有用。

結論

C# 子字串(開發者如何使用):圖 2

C# 中的 Substring 方法是用於字串操作的強大工具,使開發人員能夠根據指定的字元位置輕鬆提取部分文字。 通過理解和利用此方法,您可以有效地處理各種文本處理任務。 請記得考慮邊界情況並驗證索引,以保持應用程式的穩健性。 IronPDF 提供一個開發人員免費試用探索其功能,產品授權價格從 $749 起。

< 上一頁
C# 四捨五入到小數點後第 2 位(開發人員如何操作)
下一個 >
C#選用參數(對開發人員的運作方式)

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >