.NET 帮助

C# 字符串包含(如何为开发人员工作)

发布 2024年十二月15日
分享:

在当今的开发世界中,使用 PDF 是需要处理文档、表单或报告的应用程序的常见要求。 无论您是在构建电子商务平台、文档管理系统,还是仅仅需要处理发票,从 PDF 中提取和搜索文本都至关重要。 本文将指导您如何使用C# string.Contains()IronPDF在您的 .NET 项目中搜索和提取 PDF 文件中的文本。

字符串比较和指定子串

在执行搜索时,您可能需要根据特定的字符串子串要求执行字符串比较。 在这种情况下,C# 提供了 string.Contains 等选项()在翻译过程中,我们还需要对.NET、Java、Python 或 Node js 进行比较,这是最简单的比较形式之一。

如果需要指定是否忽略大小写敏感性,可以使用 StringComparison 枚举。 这样,您就可以选择所需的字符串比较类型,如顺序比较或大小写不敏感比较。

如果您想处理字符串中的特定位置,如第一个字符位置或最后一个字符位置,您可以使用 Substring 将字符串的某些部分分离出来,以便进一步处理。

如果您正在寻找空字符串检查或其他边缘情况,请确保在逻辑中处理这些情况。

如果您处理的是大型文档,优化文本提取的起始位置,只提取相关部分而不是整个文档是非常有用的。 如果您想避免内存和处理时间超载,这一点会特别有用。

如果您不确定比较规则的最佳方法,请考虑执行的具体方法以及您希望搜索在不同情况下的表现形式(例如,匹配多个术语、处理空格等。).

如果您的需求超出了简单的子串检查,需要更高级的模式匹配,请考虑使用正则表达式,它在处理 PDF 时具有极大的灵活性。

如果您还没有尝试过 IronPDF 的免费试用今天就来探索它的功能,看看它如何简化您的 PDF 处理任务。 无论您是在构建文档管理系统、处理发票,还是仅仅需要从 PDF 中提取数据,IronPDF 都是您的理想工具。

什么是 IronPDF,为什么要使用它?

IronPDF for .NET 是一个功能强大的库,旨在帮助开发人员在 .NET 生态系统中处理 PDF。 它能让您轻松创建、阅读、编辑和处理 PDF 文件,而无需依赖外部工具或复杂的配置。

IronPDF 概述

IronPdf 为在 C# 应用程序中处理 PDF 提供了广泛的功能。 一些主要特点包括

  • 文本提取:从 PDF 中提取纯文本或结构化数据。
  • PDF 编辑:通过添加、删除或编辑文本、图像和页面来修改现有的 PDF 文件。
  • PDF 转换:将 HTML 或 ASPX 页面转换为 PDF,反之亦然。
  • 表单处理:提取或填充交互式 PDF 表单中的表单字段。

    IronPdf 的设计简单易用,但也足够灵活,可以处理涉及 PDF 的复杂情况。 它可与 .NET Core 和 .NET Framework 无缝协作,因此非常适合任何基于 .NET 的项目。

安装 IronPDF

使用IronPDF您可以在 Visual Studio 中通过 NuGet 软件包管理器进行安装:

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#

如何使用 C# 在 PDF 文件中搜索文本;

在深入研究搜索 PDF 之前,让我们先了解一下如何使用 IronPDF 从 PDF 中提取文本。

使用 IronPDF 进行基本 PDF 文本提取

IronPDF 提供了从 PDF 文档中提取文本的简单 API。 这样您就可以轻松搜索 PDF 中的特定内容。

下面的示例演示了如何使用 IronPDF 从 PDF 中提取文本:

using IronPdf;
using System;
public class Program
{
    public static void Main(string[] args)
    {
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
        string str = pdf.ExtractAllText();
    }  
}
using IronPdf;
using System;
public class Program
{
    public static void Main(string[] args)
    {
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
        string str = pdf.ExtractAllText();
    }  
}
Imports IronPdf
Imports System
Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
		Dim str As String = pdf.ExtractAllText()
	End Sub
End Class
VB   C#

在本例中,ExtractAllText() 方法提取 PDF 文档中的所有文本。 然后可以对这些文本进行处理,以搜索特定的关键词或短语。

使用 string.Contains() 进行文本搜索

从 PDF 中提取文本后,您可以使用 C# 内置的 string.Contains()搜索特定单词或短语的方法。

string.Contains() 方法返回一个布尔值,表示指定的字符串是否存在于一个字符串中。 这对于基本的文本搜索尤其有用。

以下是使用 string.Contains 的方法()在提取的文本中搜索关键词:

bool isFound = text.Contains("search term", StringComparison.OrdinalIgnoreCase);
bool isFound = text.Contains("search term", StringComparison.OrdinalIgnoreCase);
Dim isFound As Boolean = text.Contains("search term", StringComparison.OrdinalIgnoreCase)
VB   C#

实例:如何检查 PDF 文档中的 C# 字符串是否包含关键字

让我们通过一个实际例子来进一步说明这一点。 假设您想查找 PDF 发票文档中是否存在特定的发票号码。

以下是如何实现这一目标的完整示例:

using IronPdf;
public class Program
{
    public static void Main(string[] args)
    {
        string searchTerm = "INV-12345";
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        string text = pdf.ExtractAllText();
        bool isFound = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase);
        if (isFound)
        {
            Console.WriteLine($"Invoice number: {searchTerm} found in the document");
        }
        else
        {
            Console.WriteLine($"Invoice number {searchTerm} not found in the document");
        }
    }  
}
using IronPdf;
public class Program
{
    public static void Main(string[] args)
    {
        string searchTerm = "INV-12345";
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        string text = pdf.ExtractAllText();
        bool isFound = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase);
        if (isFound)
        {
            Console.WriteLine($"Invoice number: {searchTerm} found in the document");
        }
        else
        {
            Console.WriteLine($"Invoice number {searchTerm} not found in the document");
        }
    }  
}
Imports IronPdf
Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		Dim searchTerm As String = "INV-12345"
		Dim pdf As PdfDocument = PdfDocument.FromFile("exampleInvoice.pdf")
		Dim text As String = pdf.ExtractAllText()
		Dim isFound As Boolean = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase)
		If isFound Then
			Console.WriteLine($"Invoice number: {searchTerm} found in the document")
		Else
			Console.WriteLine($"Invoice number {searchTerm} not found in the document")
		End If
	End Sub
End Class
VB   C#

输入 PDF

C# 字符串包含(开发人员如何使用):图 1

控制台输出

C# 字符串包含(开发人员如何使用):图 2

在此示例中:

  • 我们加载 PDF 文件并提取其文本。
  • 然后,我们使用 string.Contains()在提取的文本中搜索发票号码 INV-12345。
  • 由于使用了 StringComparison.OrdinalIgnoreCase,因此搜索不区分大小写。

使用正则表达式增强搜索

当 string.Contains()您可能需要执行更复杂的搜索,如查找模式或一系列关键字。 为此,您可以使用正则表达式。

下面是一个使用正则表达式在 PDF 文本中搜索任何有效发票号码格式的示例:

using IronPdf;
using System.Text.RegularExpressions;
public class Program
{
    public static void Main(string[] args)
    {
        // Define a regex pattern for a typical invoice number format (e.g., INV-12345)
        string pattern = @"INV-\d{5}";
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        string text = pdf.ExtractAllText();
        // Perform the regex search
        Match match = Regex.Match(text, pattern);
    }  
}
using IronPdf;
using System.Text.RegularExpressions;
public class Program
{
    public static void Main(string[] args)
    {
        // Define a regex pattern for a typical invoice number format (e.g., INV-12345)
        string pattern = @"INV-\d{5}";
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        string text = pdf.ExtractAllText();
        // Perform the regex search
        Match match = Regex.Match(text, pattern);
    }  
}
Imports IronPdf
Imports System.Text.RegularExpressions
Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Define a regex pattern for a typical invoice number format (e.g., INV-12345)
		Dim pattern As String = "INV-\d{5}"
		Dim pdf As PdfDocument = PdfDocument.FromFile("exampleInvoice.pdf")
		Dim text As String = pdf.ExtractAllText()
		' Perform the regex search
		Dim match As Match = Regex.Match(text, pattern)
	End Sub
End Class
VB   C#

该代码将搜索任何遵循 INV-XXXXX 模式的发票号码,其中 XXXXX 是一系列数字。

在 .NET 中处理 PDF 的最佳实践

在处理 PDF 文件,尤其是大型或复杂文件时,有一些最佳实践需要牢记:

优化文本提取

  • 处理大型 PDF:如果要处理大型 PDF 文件,最好将文本分块提取出来(按页面)在翻译过程中,译者必须注意以下几点: - 减少内存使用量并提高性能。
  • 处理特殊编码:注意 PDF 中的编码和特殊字符。 IronPDF 通常能很好地处理这一点,但复杂的布局或字体可能需要额外处理。

将 IronPDF 集成到 .NET 项目中

IronPDF 可与 .NET 项目轻松集成。 通过 NuGet 下载并安装 IronPDF 库后,只需将其导入到您的 C# 代码库中即可,如上面的示例所示。

IronPdf 的灵活性使您可以构建复杂的文档处理工作流程,例如:

  • 从表单中搜索和提取数据。
  • 将 HTML 转换为 PDF 并提取内容。
  • 根据用户输入或数据库数据创建报告。

结论

IronPDF在使用 PDF 时,尤其是在需要提取和搜索 PDF 中的文本时,可以变得轻松高效。 通过将 C# 的 string.Contains()使用 IronPDF for .NET 的文本提取功能,您可以在 .NET 应用程序中快速搜索和处理 PDF。

如果您还没有试用过 IronPDF,请立即免费试用,探索它的功能,看看它如何简化您的 PDF 处理任务。 无论您是在构建文档管理系统、处理发票,还是仅仅需要从 PDF 中提取数据,IronPDF 都是您的理想工具。

要开始使用 IronPDF,请下载免费试用并亲身体验其强大的 PDF 操作功能。 参观IronPDF 网站立即开始。

< 前一页
C# Hashmap(面向开发人员的工作原理)
下一步 >
C# Trim(如何为开发人员工作)