JAVA 幫助

如何在 Java 中使用 Substring

Darrius Serrant
Darrius Serrant
2024年3月12日
分享:

歡迎來到使用 Java 字串子字串方法的初學者指南。 作為一名 Java 開發人員和教育者,我的目標是幫助您掌握如何在 Java 中高效地處理字串的部分。 字串或字元序列在 Java 程式設計中是基本要素。 substring 方法在處理空字串時表現得很獨特。 如果原始字串是空的且未提供索引,該方法將返回一個空字串。 本指南將分解您需要了解的一切,以便開始使用 Java 中的子字串,包括使用專為 PDF 生成和操作而設計的IronPDF Java Library的實用範例。

什麼是 Java 中的 String?

在深入了解子字串之前,首先必須了解在 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

使用子字串創建新的字串物件

當你使用 substring 方法時,Java 不會修改你的原始字串。 相反,它會創建一個新的字符串物件,該物件包含原始字符串指定索引範圍內的字元。

實用範例:提取子字串

讓我們用一個簡單的 Java 程式將理論付諸實踐:

public class SubstringDemo {
    public static void main(String [] args) {
        String greeting = "Hello, world!";
        String world = greeting.substring(7);
        System.out.println(world); // Outputs "world!"
        String hello = greeting.substring(0, 5);
        System.out.println(hello); // Outputs "Hello"
    }
}
JAVA

在此範例中,world 會包含從索引7開始到結尾的子字串,而 hello 會包含從索引0到4的子字串。這個例子說明了如何使用子字串方法的兩種形式來提取字串的不同部分。

Java 子字串方法(對開發人員的作用):圖 1 - 前面程式碼的控制台輸出

高級字串操作

除了提取簡單的子字串外,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.");
        }
    }
}
JAVA

此程式從兩個不同的字串中提取子字串並進行比較。 它展示了如何專注於特定的字串區域,而不是比較整個字串。

Java Substring 方法(開發人員如何使用):圖 2 — 執行前述程式碼的控制台輸出

使用子字串的本地化

在處理國際化時,您可能需要根據使用者的區域設置以不同方式呈現或操作字串。 以下是一個簡單範例,說明如何根據預定格式使用子字串格式化字串。

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!"
    }
}
JAVA

此範例演示如何根據預定義格式提取特定的問候語,並可調整為根據使用者指定的地區設定選擇問候語。

Java Substring 方法(開發人員如何使用):圖 3 - 來自前一個代碼示例的控制台輸出

檢查回文

迴文是一種字符序列,例如單詞、短語或數字,正著讀和倒著讀都是一樣的,忽略空格、標點符號和大小寫。 這是如何使用子字串方法來檢查給定字串是否是回文:

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) {
        str = str.replaceAll("[^a-zA-Z]", "").toLowerCase();
        int length = str.length();
        for (int i = 0; i < length / 2; i++) {
            if (str.charAt(i) != str.charAt(length - 1 - i)) {
                return false;
            }
        }
        return true;
    }
}
JAVA

此程式碼通過移除非字母字符並將其轉換為小寫來清理輸入字串。 然後,它會檢查從開始位置的每個字符是否與結尾的相應字符匹配。 這種方法使用charAt(int index) 方法,但如果需要,您可以將其調整為使用子字符串進行比較。

Java Substring 方法(開發人員如何使用):圖 4 - 來自先前代碼的控制台輸出

IronPDF for Java 介紹

Java 子字串方法(如何為開發人員運作):圖5 - IronPDF for Java 網頁

探索 IronPDF Java 功能 - 一個強大的庫,旨在簡化在 Java 應用程式中創建、編輯和管理 PDF 文件的過程。 此程式庫為開發人員提供了一套豐富的功能來操作 PDF 文件,包括從 HTML 生成 PDF 文件、處理表單、添加圖片和文字,以及使用加密和權限保護文件。 其簡單明瞭的 API 和全面的文件說明使初學者和有經驗的開發人員都能輕鬆地將 PDF 功能整合到他們的 Java 項目中。

建立 PDF 文件

讓我們創建一個簡單的例子,來展示如何結合 Java 的子字串概念使用 IronPDF for 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>
JAVA

然而,您可以從Sonatype 存儲庫手動下載 IronPDF for Java

使用 Substring 方法生成 PDF

現在是時候在 App.java 文件中編寫代碼了。讓我們創建一個簡單的 PDF 文檔並向其中添加文本,演示如何在此過程中集成子字符串方法:

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class App {
    public static void main(String [] args) throws IOException, PrinterException {
        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>";
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
        pdf.saveAs(Paths.get("f:\\IronPdf\\html.pdf"));
    }
}
JAVA

從較長的字串提取子字串後,您可以將其無縫地合併到 PDF 文檔中,確保在生成的 PDF 內容中具有連貫的字串表示。 此代碼片段演示了使用 IronPDF for Java 創建 PDF 文件的基本要素,包括從 HTML 生成內容,以及利用 Java 的 substring 功能來操作和添加文本到 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 的授權起價為 $749,為 Java 專案提供全面的 PDF 生成解決方案。

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant 擁有邁阿密大學的計算機科學學士學位,目前擔任 Iron Software 的全端 WebOps 行銷工程師。自幼對編程產生興趣,他認為計算機既神秘又易於接觸,使其成為創造力和解決問題的完美媒介。

在 Iron Software,Darrius 享受創造新事物並簡化複雜概念使其更易理解的過程。作為我們的其中一位常駐開發人員,他也自願教導學生,將他的專業知識傳授給下一代。

對 Darrius 來說,他的工作之所以令人滿足,是因為它受到重視並且產生了真正的影響。

< 上一頁
在 Java 中處理多行字串
下一個 >
在 Java 中使用 Math.random