.NET 帮助

C# 子字符串(开发人员如何使用)

发布 2024年四月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(int startIndex):这将检索从startIndex**开始并持续到字符串末尾的子字符串。

  2. public string Substring(int startIndex, int length): 这将检索从 startIndex 开始并具有指定 length** 的子字符串。

    涉及的参数是:

    • int startIndex:这是子字符串开始的基于零的索引。
    • int 长度:(可选的)这是第二个参数。 这是返回子字符串中包含的字符数。

子字符串方法如何工作

Substring 方法的过程非常简单。 当调用时,它会从给定的索引开始从原始字符串中提取字符。(startIndex). 如果提供 length 参数,该方法将返回指定数量的字符。 如果没有 length 参数,它将继续到字符串的末尾。 在C#中使用substring int32确保两个参数(startIndex 和长度)被视为整数,从而确保了类型安全,避免了潜在的运行时错误。

子字符串方法的详细示例

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

在本例中,子串方法从索引 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文档生成非常有用。 例如,如果您需要从大段文本中提取特定信息并以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# 四舍五入到小数点后两位(开发人员指南)
下一步 >
C# 可选参数 (开发人员如何使用)

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,781,565 查看许可证 >