跳至頁尾內容
開發者更新

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

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

這就是IronPDF,一個為.NET開發者設計的穩健PDF程式庫,發揮作用的地方。 借助IronPDF,您可以從PDF中提取文字並利用C#的解析功能將此文字轉換為可用的數值資料。 無論您是在分析發票、報告還是表單,將C#的解析工具與IronPDF結合起來,可以簡化PDF資料的處理,讓您將字串格式的數字轉換為整數。

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

什麼是C#中的ParseInt?

解析整數的基本知識

在C#中,將一個字串值(例如"123")轉換為整數通常使用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()使用輸出參數來儲存轉換的整數,這使得方法在不拋出異常的情況下返回一個值。 如果轉換失敗,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 Package Manager Console

要使用NuGet Package Manager Console安裝IronPDF,打開Visual Studio並導航到Package Manager Console。 然後運行以下命令:

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

Via the NuGet Package Manager for Solution

打開Visual Studio,依次選擇"工具 -> NuGet Package Manager -> 管理方案的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中提取所有文字。

  1. 使用正則表達式查找數字:

程式碼使用正則表達式(一種匹配文字的模式)在提取的文字中搜索並查找任何數字。 正則表達式查找整數(例如,12345)和小數(例如,50.75)。

  1. 解析並列印數字:

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

  1. 為什麼使用正則表達式:

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

常見問題及IronPDF如何解決

從複雜的PDF結構中提取乾淨的資料,通常會導致需要進一步處理的字串值,例如將字串轉換為整數。 以下是一些常見問題以及IronPDF如何幫助:

PDF格式不正確

PDF中通常包含以文字格式顯示的數字(例如,"1,234.56"或"12,345 USD")。 為了正確處理這些,您需要確保數字的字串表示格式正確以供解析。 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#中解析整數對於開發者來說是一項基本技能,特別是在處理使用者輸入或從各種來源提取資料時。 雖然內建方法如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()能夠處理null值,返回預設值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,這在處理複雜的文字提取場景中是必需的,例如查找和轉換數字。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

Jacob擁有曼徹斯特大學的土木工程一等榮譽學士學位(BEng),於1998-2001年之間獲得。在1999年於倫敦創辦他的第一家軟體公司並於2005年建立了他的第一批.NET元組件後,他專注於解決Microsoft生態系統中的複雜問題。

他的旗艦IronPDF和Iron Suite .NET程式庫在全球獲得了超過3000萬次NuGet安裝依據,他的基礎程式碼基繼續支援著世界各地開發者使用的工具。擁有25年的商業經驗和41年的程式設計專業知識,他仍專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話