跳過到頁腳內容
.NET幫助

解析C#(開發者如何理解其工作)

在 C# 中處理數據時,開發人員經常需要將數字的文本表示轉換為整數。 這項任務被稱為「解析整數」,對於從用戶輸入處理到從像 PDF 這樣的文件中提取數據等各種應用至關重要。 雖然 C# 提供了強大的解析整數方法,但在處理未結構化或半結構化數據時,例如在 PDF 中找到的數據,這個過程可能會變得更複雜。

這就是IronPDF這樣一個為 .NET 開發人員準備的強大 PDF 庫發揮作用的地方。 使用 IronPDF,您可以從 PDF 中提取文本並利用 C# 的解析功能將此文本轉換為可用的數字數據。 無論您是在分析發票、報告還是表單,結合 C# 的解析工具和 IronPDF 可以簡化處理 PDF 的數據,允許您將字符串格式的數字轉換為整數。

在本文中,我們將深入研究如何在 C# 中使用 ParseInt 將數字的字符串表示轉換為整數,以及 IronPDF 如何簡化從 PDF 提取和解析數字數據的過程。

C# 中的 ParseInt 是什麼?

解析整數的基礎知識

在 C# 中,將字符串值(例如「123」)轉換為整數通常使用int.Parse()Convert.ToInt32()。 這些方法幫助開發人員將文本數據轉換為可用於計算和驗證的數字值。

  • int.Parse(string s): 將字符串轉換為整數。 如果字符串不是有效的整數,則引發異常。
  • Convert.ToInt32(string s): 將字符串轉換為整數,處理 null 輸入時有所不同。

這是一個使用int.Parse()轉換字符串的示例:

string numberString = "123";
// Convert the string to an integer using int.Parse
int num = int.Parse(numberString);
Console.WriteLine(num); // Output: 123
string numberString = "123";
// Convert the string to an integer using int.Parse
int num = int.Parse(numberString);
Console.WriteLine(num); // Output: 123
Dim numberString As String = "123"
' Convert the string to an integer using int.Parse
Dim num As Integer = Integer.Parse(numberString)
Console.WriteLine(num) ' Output: 123
$vbLabelText   $csharpLabel

或者,使用 Convert 類:

string numericString = "123";
// Convert the string to an integer using Convert.ToInt32
int result = Convert.ToInt32(numericString);
Console.WriteLine(result); // Outputs: 123
string numericString = "123";
// Convert the string to an integer using Convert.ToInt32
int result = Convert.ToInt32(numericString);
Console.WriteLine(result); // Outputs: 123
Dim numericString As String = "123"
' Convert the string to an integer using Convert.ToInt32
Dim result As Integer = Convert.ToInt32(numericString)
Console.WriteLine(result) ' Outputs: 123
$vbLabelText   $csharpLabel

Convert 類允許您安全地轉換字符串和其他數據類型。 當字符串變量可能表示 null 或無效值時,尤其有用,因為Convert.ToInt32()返回默認值(此情況下為 0 而不是引發異常)

默認值和處理錯誤

開發人員在將字符串轉換為整數時經常遇到的一個問題是處理無效或非數字輸入。 如果數字的字符串表示不在正確格式中,像int.Parse()這樣的方法會引發異常。 但是,Convert.ToInt32()對於無效字符串有內置的後備機制。

這裡有一個示例演示了如何處理解析過程中的默認值:

string invalidString = "abc";
// Convert will return 0 instead of throwing an exception for invalid input
int result = Convert.ToInt32(invalidString);
Console.WriteLine(result); // Outputs: 0
string invalidString = "abc";
// Convert will return 0 instead of throwing an exception for invalid input
int result = Convert.ToInt32(invalidString);
Console.WriteLine(result); // Outputs: 0
Dim invalidString As String = "abc"
' Convert will return 0 instead of throwing an exception for invalid input
Dim result As Integer = Convert.ToInt32(invalidString)
Console.WriteLine(result) ' Outputs: 0
$vbLabelText   $csharpLabel

如果想要在轉換字符串時擁有更多的控制,您可以使用int.TryParse(),這將返回一個布爾值,表示轉換是否成功:

string invalidInput = "abc";
// Attempt to parse using TryParse, which avoids exceptions for invalid input
if (int.TryParse(invalidInput, out int result))
{
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Parsing failed.");
}
string invalidInput = "abc";
// Attempt to parse using TryParse, which avoids exceptions for invalid input
if (int.TryParse(invalidInput, out int result))
{
    Console.WriteLine(result);
}
else
{
    Console.WriteLine("Parsing failed.");
}
Dim invalidInput As String = "abc"
' Attempt to parse using TryParse, which avoids exceptions for invalid input
Dim result As Integer
If Integer.TryParse(invalidInput, result) Then
	Console.WriteLine(result)
Else
	Console.WriteLine("Parsing failed.")
End If
$vbLabelText   $csharpLabel

在這種情況下,TryParse()使用了一個 out 參數來存儲轉換後的整數,這允許該方法在不拋出異常的情況下返回一個值。 如果轉換失敗,else 語句將運行而不是簡單地使程序崩潰。 否則,程序將顯示輸入字符串成功解析的數字結果。 在預期會出現轉換失敗的情況下,使用 int.TryParse 可以避免程序崩潰。

使用 IronPDF 解析 PDF 中的數據

為什麼使用 IronPDF 來解析數據?

Parseint C#(它如何為開發人員工作):圖 1

處理 PDF 時,您可能會遇到包含數字數據的字符串值中的表格或未結構化文本。 為了提取和處理這些數據,將字符串轉換為整數至關重要。 IronPDF 使該過程變得簡單,既提供了靈活性又提供了從 PDF 閱讀內容並執行如將字符串轉換為數字值之類操作的功能。

以下是 IronPDF 提供的一些主要功能:

  • HTML 到 PDF 的轉換:IronPDF 可以將HTML 內容(包括 CSS,圖像和 JavaScript)轉換為完全格式化的 PDF。 这对将动态网页或者报告呈现为 PDF 特别有用。
  • PDF 編輯:使用 IronPDF,您可以通過添加文本、圖像和圖形來操控現有的 PDF 文檔,也可以編輯現有頁面的內容。
  • 文本和圖像提取:該庫允許您從 PDF 中提取文本和圖像,使解析和分析 PDF 內容變得容易。
  • 加水印:它還可以添加水印到 PDF 文檔中以進行品牌或版權保護。

使用 IronPDF 入門

要開始使用IronPDF,您首先需要安裝它。 如果已經安裝,則可以跳過到下一節,否則接下來的步驟將涵蓋如何安裝 IronPDF 庫。

通過NuGet包管理控制台

要使用NuGet包管理控制台安裝IronPDF,請打開Visual Studio並導航至包管理控制台。 然後運行以下命令:

// Command to install IronPDF package via the Package Manager Console
Install-Package IronPdf

通過NuGet包管理器進行解決方案安裝

打開Visual Studio,進入“工具 -> NuGet包管理器 -> 管理解決方案的NuGet包”並搜索IronPDF。 在此,您只需選擇您的項目並單擊“安裝”,IronPDF就會添加到您的項目中。

Parseint C#(它如何為開發人員工作):圖 2

安裝IronPDF後,您需要做的就是在代碼頂部添加正確的using語句以開始使用IronPDF。

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

解鎖免費試用

IronPDF 提供了免費試用,可全面訪問其功能。 訪問IronPDF 官網下載試用版,開始將高級 PDF 處理集成到 .NET 項目中。

示例:從 PDF 中提取並解析數字

以下 C# 代碼演示了如何使用 IronPDF 從 PDF 中提取文本,然後使用正則表達式查找並解析提取文本中的所有數值。 該代碼同時處理整數和小數,清除非數字字符如貨幣符號。

using IronPdf;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main(string[] args)
    {
        // Load a PDF file
        PdfDocument pdf = PdfDocument.FromFile("example.pdf");

        // Extract all text from the PDF
        string text = pdf.ExtractAllText();

        // Print the extracted text (for reference)
        Console.WriteLine("Extracted Text: ");
        Console.WriteLine(text);

        // Parse and print all numbers found in the extracted text
        Console.WriteLine("\nParsed Numbers:");

        // Use regular expression to find all number patterns, including integers and decimals
        var numberMatches = Regex.Matches(text, @"\d+(\.\d+)?");

        // Iterate through all matched numbers and print them
        foreach (Match match in numberMatches)
        {
            // Print each matched number
            Console.WriteLine($"{match.Value}");
        }
    }
}
using IronPdf;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main(string[] args)
    {
        // Load a PDF file
        PdfDocument pdf = PdfDocument.FromFile("example.pdf");

        // Extract all text from the PDF
        string text = pdf.ExtractAllText();

        // Print the extracted text (for reference)
        Console.WriteLine("Extracted Text: ");
        Console.WriteLine(text);

        // Parse and print all numbers found in the extracted text
        Console.WriteLine("\nParsed Numbers:");

        // Use regular expression to find all number patterns, including integers and decimals
        var numberMatches = Regex.Matches(text, @"\d+(\.\d+)?");

        // Iterate through all matched numbers and print them
        foreach (Match match in numberMatches)
        {
            // Print each matched number
            Console.WriteLine($"{match.Value}");
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronPdf
Imports System.Text.RegularExpressions

Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Load a PDF file
		Dim pdf As PdfDocument = PdfDocument.FromFile("example.pdf")

		' Extract all text from the PDF
		Dim text As String = pdf.ExtractAllText()

		' Print the extracted text (for reference)
		Console.WriteLine("Extracted Text: ")
		Console.WriteLine(text)

		' Parse and print all numbers found in the extracted text
		Console.WriteLine(vbLf & "Parsed Numbers:")

		' Use regular expression to find all number patterns, including integers and decimals
		Dim numberMatches = Regex.Matches(text, "\d+(\.\d+)?")

		' Iterate through all matched numbers and print them
		For Each match As Match In numberMatches
			' Print each matched number
			Console.WriteLine($"{match.Value}")
		Next match
	End Sub
End Class
$vbLabelText   $csharpLabel

輸入 PDF

Parseint C#(它如何為開發人員工作):圖 3

控制台輸出

Parseint C#(它如何為開發人員工作):圖 4

代碼解釋

  1. 從 PDF 中提取文本

    代碼首先使用 IronPDF 加載一個 PDF 文件。 然後從 PDF 中提取所有文本。

  2. 使用正則表達式尋找數字

    該代碼使用正則表達式(匹配文本的模式)來在提取的文本中查找任何數字。 正則表達式同時尋找 整數(如 12345)和 小數(如 50.75)。

  3. 解析和打印數字

    找到數字後,程序將每個都打印到控制台。 這包括整數和小數。

  4. 為什麼使用正則表達式

    使用正則表達式是因為它們是尋找文字模式(例如數字)的一種強大工具。 它們可以處理帶有符號的數字(例如貨幣符號 $),使該過程更加靈活。

常見挑戰及 IronPDF 如何解決

從複雜的 PDF 結構中提取乾淨數據常常會得到需要進一步處理的字符串值,例如將字符串轉換為整數。 這裡是一些常見挑戰,以及 IronPDF 可以如何幫助:

PDF 中的錯誤格式

PDF 中經常包含格式為文本的數字(例如「1,234.56」或「12,345 美元」)。 為了正確處理這些格式,您需確保數字的字符串表示正好是解析所需的格式。 IronPDF 允許您乾淨地提取文本,並且可以使用字符串操作方法(例如Replace())在轉換前調整格式。

例:

string formattedNumber = "1,234.56"; // String value with commas
// Remove commas from the string to clean it
string cleanNumber = formattedNumber.Replace(",", "");
// Convert the cleaned string to an integer by first converting to double then to integer
int result = Convert.ToInt32(Convert.ToDouble(cleanNumber));
Console.WriteLine(result); // Outputs: 1234
string formattedNumber = "1,234.56"; // String value with commas
// Remove commas from the string to clean it
string cleanNumber = formattedNumber.Replace(",", "");
// Convert the cleaned string to an integer by first converting to double then to integer
int result = Convert.ToInt32(Convert.ToDouble(cleanNumber));
Console.WriteLine(result); // Outputs: 1234
Dim formattedNumber As String = "1,234.56" ' String value with commas
' Remove commas from the string to clean it
Dim cleanNumber As String = formattedNumber.Replace(",", "")
' Convert the cleaned string to an integer by first converting to double then to integer
Dim result As Integer = Convert.ToInt32(Convert.ToDouble(cleanNumber))
Console.WriteLine(result) ' Outputs: 1234
$vbLabelText   $csharpLabel

處理文本中的多個數值

在複雜的 PDF 中,數值可能以不同的格式出現或分散在不同位置。 使用 IronPDF,您可以提取所有文本,然後使用正則表達式有效地找到並將字符串轉換為整數。

結論

在 C# 中解析整數對開發人員來說是一項基本技能,特別是在處理用戶輸入或從各種來源中提取數據時。 雖然int.Parse()Convert.ToInt32()等內置方法很有用,但處理未結構化或半結構化數據(如 PDF 中找到的文本)可能會帶來額外挑戰。 這就是 IronPDF 發揮作用的地方,它為從 PDF 中提取文本並在 .NET 應用中使用它提供了一個強大且簡單的解決方案。

通過使用IronPDF,您可以輕鬆地從複雜的 PDF(包括掃描文件)中提取文本並將這些數據轉換為可用的數字值。 憑藉對掃描 PDF 的 OCR 和強大的文本提取工具等功能,IronPDF 讓數據處理流程得以簡化,即使在具有挑戰的格式下也是如此。

無論您在處理發票、財務報告或含有數據的其他文件,結合 C# 的 ParseInt 方法與 IronPDF 可以幫助您更有效且準確地工作。

不要讓複雜的 PDF 降低您的開發速度——開始使用IronPDF是探索 IronPDF 如何增強您的工作流程的完美機會,為何不試試它如何簡化您的下個項目呢?

常見問題解答

我如何在 C# 中將字串轉換為整數?

在 C# 中,你可以使用 int.Parse() 方法或 Convert.ToInt32() 將字串轉換為整數。如果字串不是有效的整數,int.Parse() 方法會引發異常,而 Convert.ToInt32() 對於 null 輸入返回 0。

int.Parse() 和 Convert.ToInt32() 之間有什麼不同?

int.Parse() 用於直接將字串轉換為整數,對於無效格式會引發異常。Convert.ToInt32() 可以通過返回預設值 0 處理空值,這使其對某些應用更安全。

int.TryParse() 如何加強解析過程中的錯誤處理?

int.TryParse() 通過返回一個布林值來加強錯誤處理,該布林值指示轉換的成功或失敗,並使用一個 out 參數來存儲結果,而不會對於無效輸入拋出異常。

IronPDF 如何幫助從 PDF 中提取文本進行解析?

IronPDF 通過提供強大的功能,如文本和圖像提取,簡化了從 PDF 提取文本的過程,使開發人員能夠輕鬆訪問字串數據以使用 C# 解析為數值。

安裝像 IronPDF 這樣的 PDF 庫涉及哪些步驟?

要安裝 IronPDF,請在 Visual Studio 中使用 NuGet Package Manager Console 並運行命令 Install-Package IronPdf,或使用 NuGet Package Manager 窗口搜索並安裝該庫。

解析 PDF 中的數據可能出現哪些挑戰?

由於格式問題如逗號和不同的數字格式,從 PDF 解析數據可能是一項挑戰。IronPDF 允許乾淨地提取文本,然後可以使用正則表達式進行處理。

正則表達式如何幫助從 PDF 中提取數據?

正則表達式允許開發人員識別文本中的模式,如帶有符號的數字,從而促進從由 IronPDF 提取的 PDF 文本中提取和轉換數據。

是否可以從掃描的 PDF 文件中提取文本?

是的,IronPDF 包含 OCR(光學文字識別)功能,可以從掃描的 PDF 中提取文本,將掃描圖像轉換為可編輯和搜索的文本。

使用 IronPDF 時,正則表達式提供了哪些好處?

正則表達式補充了 IronPDF 的功能,通過啟用靈活的文本搜索和模式匹配來處理複雜的文本提取場景,例如查找和轉換數字。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。