如何在 Java 中使用 Substring
歡迎閱讀這篇針對初學者的 Java substring 方法使用指南。 身為 Java 開發人員和教育工作者,我的目標是幫助您掌握如何在 Java 中有效地處理字串的各個部分。 字串,或者說字元序列,是 Java 程式設計的基礎。 當處理空字串時, substring方法的行為比較特殊。 如果原始字串為空且未提供索引,則該方法傳回空字串。 本指南將詳細介紹在 Java 中使用子字串入門所需的一切知識,包括使用專為 PDF 生成和操作而設計的IronPDF Java 庫的實際範例。
Java 中的字串是什麼?
在深入研究子字串之前,了解 Java 程式設計中字串的含義至關重要。 在Java中,字串是表示一系列字元的物件。 Java 中的 String 類別提供了各種方法來操作此字元序列,例如將兩個字串相加、比較字串,或者,正如我們在這裡將要關注的,提取子字串。
子字串方法詳解
Java 字串的 substring 方法是 Java 中 String 類別的一部分。 它的設計目的是根據現有字串的一部分創建一個新字串。 Java 提供了兩種主要方法來實現這一點:
- public String substring(int beginIndex) : 此方法建立一個從beginIndex開始到原始字串末尾的新字串。 需要注意的是,Java 中的字串索引從 0 開始。
- public String substring(int beginIndex, int endIndex) : 此版本從beginIndex 開始建立一個新字串,一直到 endIndex,但不包含endIndex 。
使用子字串建立新的字串對象
使用 substring 方法時,Java 不會修改原始字串。 相反,它會創建一個新的字串對象,其中包含原始字串中指定索引範圍內的字元。
實際範例:提取子字串
讓我們透過一個簡單的Java程式來實踐理論:
public class SubstringDemo {
public static void main(String[] args) {
String greeting = "Hello, world!";
// Extracting substring from index 7 to the end
String world = greeting.substring(7);
System.out.println(world); // Outputs "world!"
// Extracting substring from index 0 to 4 (exclusive)
String hello = greeting.substring(0, 5);
System.out.println(hello); // Outputs "Hello"
}
}public class SubstringDemo {
public static void main(String[] args) {
String greeting = "Hello, world!";
// Extracting substring from index 7 to the end
String world = greeting.substring(7);
System.out.println(world); // Outputs "world!"
// Extracting substring from index 0 to 4 (exclusive)
String hello = greeting.substring(0, 5);
System.out.println(hello); // Outputs "Hello"
}
}在這個範例中, world將包含從索引 7 到末尾的子字串,而hello將包含從索引 0 到 4 的子字串。這示範如何使用 substring 方法的兩種形式來提取字串的不同部分。
進階字串操作
除了提取簡單的子字串之外,子字串方法在更複雜的場景中也非常強大,例如比較字串的部分內容、檢查回文或處理不同語言環境中的字串。
比較字串區域
有時,你可能需要比較兩個字串的特定部分,而不是整個字串本身。 在這種情況下,Java 的 substring 方法非常方便。 以下是一種可行的方法:
public class CompareRegionsDemo {
public static void main(String[] args) {
String str1 = "Hello, world!";
String str2 = "Hello, Java!";
// Extracting substrings to compare
String subStr1 = str1.substring(7);
String subStr2 = str2.substring(7);
// Comparing extracted substrings
if (subStr1.equals(subStr2)) {
System.out.println("The substrings match.");
} else {
System.out.println("The substrings do not match.");
}
}
}public class CompareRegionsDemo {
public static void main(String[] args) {
String str1 = "Hello, world!";
String str2 = "Hello, Java!";
// Extracting substrings to compare
String subStr1 = str1.substring(7);
String subStr2 = str2.substring(7);
// Comparing extracted substrings
if (subStr1.equals(subStr2)) {
System.out.println("The substrings match.");
} else {
System.out.println("The substrings do not match.");
}
}
}程式從兩個不同的字串中提取子字串並進行比較。 它演示瞭如何將注意力集中在您感興趣的特定字串區域,而不是比較整個字串。
使用子字串進行本地化
在處理國際化問題時,您可能需要根據使用者的語言環境以不同的方式呈現或操作字串。 以下是一個簡單的範例,說明如何使用基於預先定義格式的子字串來格式化字串。
public class LocalizationDemo {
public static void main(String[] args) {
String greeting = "Hello, world! Bonjour, monde! Hola, mundo!";
// Assuming we know the positions of each localized greeting
String englishGreeting = greeting.substring(0, 13);
String frenchGreeting = greeting.substring(15, 28);
String spanishGreeting = greeting.substring(30);
System.out.println(englishGreeting); // Outputs "Hello, world!"
System.out.println(frenchGreeting); // Outputs "Bonjour, monde!"
System.out.println(spanishGreeting); // Outputs "Hola, mundo!"
}
}public class LocalizationDemo {
public static void main(String[] args) {
String greeting = "Hello, world! Bonjour, monde! Hola, mundo!";
// Assuming we know the positions of each localized greeting
String englishGreeting = greeting.substring(0, 13);
String frenchGreeting = greeting.substring(15, 28);
String spanishGreeting = greeting.substring(30);
System.out.println(englishGreeting); // Outputs "Hello, world!"
System.out.println(frenchGreeting); // Outputs "Bonjour, monde!"
System.out.println(spanishGreeting); // Outputs "Hola, mundo!"
}
}此範例示範如何根據預先定義的格式提取特定的問候語,並且可以進行調整,以根據使用者指定的語言區域選擇問候語。
檢查回文
回文是指正讀反讀都一樣的字元序列,例如單字、片語或數字,忽略空格、標點符號和大小寫。 以下是如何使用 substring 方法檢查給定字串是否為回文的範例:
public class PalindromeCheck {
public static void main(String[] args) {
String line = "A man a plan a canal Panama";
System.out.println("Is palindrome? " + checkPalindrome(line));
}
private static boolean checkPalindrome(String str) {
// Removing all non-letter characters and converting to lowercase
str = str.replaceAll("[^a-zA-Z]", "").toLowerCase();
int length = str.length();
// Checking if characters at each index are equal to their counterparts
for (int i = 0; i < length / 2; i++) {
if (str.charAt(i) != str.charAt(length - 1 - i)) {
return false;
}
}
return true;
}
}public class PalindromeCheck {
public static void main(String[] args) {
String line = "A man a plan a canal Panama";
System.out.println("Is palindrome? " + checkPalindrome(line));
}
private static boolean checkPalindrome(String str) {
// Removing all non-letter characters and converting to lowercase
str = str.replaceAll("[^a-zA-Z]", "").toLowerCase();
int length = str.length();
// Checking if characters at each index are equal to their counterparts
for (int i = 0; i < length / 2; i++) {
if (str.charAt(i) != str.charAt(length - 1 - i)) {
return false;
}
}
return true;
}
}這段程式碼透過刪除非字母字元並將其轉換為小寫來清理輸入字串。 然後,它會檢查從開頭到結尾每個位置的字元是否與對應的字元相符。
IronPDF Java 版簡介
Java 子字串方法(開發者使用方法):圖 5 - IronPDF for Java 網頁
探索 IronPDF Java 功能- 一個強大的庫,旨在簡化在 Java 應用程式中建立、編輯和管理 PDF 文件的過程。 該程式庫為開發者提供了一套豐富的功能來操作 PDF 文件,包括從 HTML 生成 PDF 文件、處理表單、添加圖像和文本,以及使用加密和權限來保護文件。 它簡單易用的 API 和全面的文件使得初學者和經驗豐富的開發人員都能輕鬆地將 PDF 功能整合到他們的 Java 專案中。
建立 PDF 文件
讓我們建立一個簡單的範例來示範如何將 IronPDF for Java 與 Java 的子字串概念結合使用。 在這個例子中,我們將根據 HTML 字串產生 PDF 文件。 然後,我們將向 PDF 添加一個文字元素,使用較大字串的子字串來說明 Java 子字串功能的整合。
將 IronPDF for Java 加入您的專案中
你需要將 IronPDF for Java 加入到pom.xml檔中。 您需要新增 IronPDF for Java 和 Slf4j 的依賴項。 方法很簡單,只需幾個步驟即可完成。
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.1.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.3</version>
</dependency><dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>2024.1.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>2.0.3</version>
</dependency>不過,您可以從 Sonatype 儲存庫手動下載 IronPDF for Java 。
使用子字串方法產生 PDF
現在是時候在 App.java 檔案中編寫程式碼了。我們創建一個簡單的 PDF 文件並向其中添加文本,演示如何在此過程中整合子字串方法:
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
import java.awt.print.PrinterException;
public class App {
public static void main(String[] args) throws IOException {
License.setLicenseKey("License Key");
// Example longer string to demonstrate substring usage
String longString = "IronPDF for Java simplifies PDF generation from HTML content.";
// Extracting a substring
String substring = longString.substring(0, 25); // "IronPDF for Java simplifies"
// Crafting HTML content with the substring
String htmlContent = "<h1>" + substring + "</h1>" +
"<p>This PDF document demonstrates generating a PDF from HTML content, including dynamic text from Java strings.</p>";
// Render HTML as a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
pdf.saveAs(Paths.get("f:\\IronPdf\\html.pdf"));
}
}import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
import java.awt.print.PrinterException;
public class App {
public static void main(String[] args) throws IOException {
License.setLicenseKey("License Key");
// Example longer string to demonstrate substring usage
String longString = "IronPDF for Java simplifies PDF generation from HTML content.";
// Extracting a substring
String substring = longString.substring(0, 25); // "IronPDF for Java simplifies"
// Crafting HTML content with the substring
String htmlContent = "<h1>" + substring + "</h1>" +
"<p>This PDF document demonstrates generating a PDF from HTML content, including dynamic text from Java strings.</p>";
// Render HTML as a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
pdf.saveAs(Paths.get("f:\\IronPdf\\html.pdf"));
}
}從較長的字串中提取子字串後,您可以將其無縫地合併到 PDF 文件中,從而確保生成的 PDF 內容中具有連貫的字串表示。 此程式碼片段示範了使用 IronPDF for Java 建立 PDF 文件的基本原理,包括從 HTML 生成內容以及結合 Java 的子字串功能來操作 PDF 並向其中添加文字。 運行此程式碼後,您將在指定的目錄中獲得一個名為"html.pdf"的 PDF 檔案。
輸出
以下是上述程式碼產生的PDF檔案:
Java 子字串方法(開發者使用指南):圖 6 - 前一程式碼輸出的 PDF 文件
它和我們程式碼中定義的完全一樣。 我們使用 Java 的 Substring 方法為 PDF 中加入了內容。 這是 IronPDF 和 Substring 方法的完美結合。 利用這種組合,你可以做很多事情。
結論
透過將這些Java IronPDF 功能與 Java 強大的字串操作功能(例如 substring 方法)結合,您可以建立複雜的 PDF 處理應用程式。 本指南提供了在 Java 中處理 PDF 的基本知識,並展示如何將子字串操作融入 PDF 專案中。 透過這些範例進行實驗,並進一步探索,以釋放 Java 中 PDF 操作的全部潛力。
IronPDF for Java 為開發人員提供免費試用版,以便他們可以探索其功能。 IronPDF 的授權起價為$799 ,為 Java 專案提供全面的 PDF 產生解決方案。







