Jak użyć Substring w Java
Witamy w przyjaznym dla początkujących przewodniku po korzystaniu z metody substring w Javie. Jako programista Java i nauczyciel, chcę pomóc Ci zrozumieć, jak efektywnie pracować z fragmentami ciągów znaków w Javie. Ciągi znaków, czyli sekwencje znaków, mają fundamentalne znaczenie dla programowania w języku Java. Metoda substring zachowuje się w specyficzny sposób podczas pracy z pustym ciągiem znaków. Jeśli oryginalny ciąg znaków jest pusty i nie podano żadnych indeksów, metoda zwraca pusty ciąg znaków. W tym przewodniku omówiono wszystko, co trzeba wiedzieć, aby rozpocząć pracę z podciągami w Javie, w tym praktyczne przykłady z wykorzystaniem biblioteki IronPDF for Java przeznaczonej do generowania i edycji plików PDF.
Czym jest ciąg znaków w Javie?
Zanim zagłębimy się w podciągi, należy zrozumieć, czym jest ciąg znaków w kontekście programowania w Javie. Ciąg znaków w Javie to obiekt reprezentujący sekwencję znaków. Klasa String w Javie udostępnia różne metody manipulowania sekwencjami znaków, takie jak łączenie dwóch ciągów znaków, porównywanie ciągów znaków lub, na czym się tutaj skupimy, wyodrębnianie podciągu.
Wyjaśnienie metody Substring
Metoda substring języka Java jest częścią klasy String w Javie. Służy do tworzenia nowego ciągu znaków na podstawie fragmentu istniejącego ciągu. Java oferuje dwa główne sposoby realizacji tego zadania:
- public String substring(int beginIndex): Ta metoda tworzy nowy ciąg znaków, zaczynający się od beginIndex do końca oryginalnego ciągu znaków. Należy pamiętać, że indeks ciągów znaków w Javie zaczyna się od 0.
- public String substring(int beginIndex, int endIndex): Ta wersja tworzy nowy ciąg znaków od beginIndex do endIndex, nie włączając endIndex.
Tworzenie nowych obiektów typu String za pomocą funkcji Substring
Podczas korzystania z metody substring język Java nie modyfikuje oryginalnego ciągu znaków. Zamiast tego tworzy nowy obiekt typu string, który zawiera znaki z określonego zakresu indeksów oryginalnego ciągu znaków.
Praktyczny przykład: Wyodrębnianie podciągów
Zastosujmy teorię w praktyce za pomocą prostego programu w języku 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"
}
}
W tym przykładzie world będzie zawierać podciąg od indeksu 7 do końca, a hello będzie zawierać podciąg od indeksu 0 do 4. Pokazuje to, jak używać obu form metody substring do wyodrębniania różnych części ciągu znaków.

Zaawansowana manipulacja ciągami znaków
Oprócz wyodrębniania prostych podciągów, metoda substring może być potężnym narzędziem w bardziej złożonych scenariuszach, takich jak porównywanie fragmentów ciągów znaków, sprawdzanie palindromów lub praca z ciągami znaków w różnych lokalizacjach.
Porównanie regionów ciągów znaków
Czasami może zaistnieć potrzeba porównania konkretnych fragmentów dwóch ciągów znaków, a nie całych ciągów. Metoda substring w Javie jest bardzo przydatna w takich sytuacjach. Oto jak można to zrobić:
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.");
}
}
}
Ten program wyodrębnia podciągi z dwóch różnych ciągów znaków i porównuje je. Pokazuje to, jak można skupić się na konkretnych fragmentach ciągów znaków, które Cię interesują, zamiast porównywać całe ciągi.

Lokalizacja z wykorzystaniem podciągów
W przypadku internacjonalizacji może zaistnieć potrzeba odmiennego przedstawiania lub przetwarzania ciągów znaków w zależności od ustawień regionalnych użytkownika. Oto prosty przykład formatowania ciągu znaków przy użyciu funkcji substring w oparciu o predefiniowany format.
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!"
}
}
Ten przykład pokazuje wyodrębnianie określonych pozdrowień na podstawie z góry zdefiniowanego formatu i może zostać dostosowany do wyboru pozdrowienia na podstawie lokalizacji określonej przez użytkownika.

Sprawdzanie palindromów
Palindrom to sekwencja znaków, taka jak słowo, fraza lub liczba, która brzmi tak samo od początku do końca i od końca do początku, bez uwzględniania spacji, znaków interpunkcyjnych i wielkich liter. Oto jak można użyć metody substring, aby sprawdzić, czy dany ciąg znaków jest palindromem:
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;
}
}
Ten kod oczyszcza ciąg wejściowy, usuwając znaki inne niż litery i zamieniając go na małe litery. Następnie sprawdza, czy znak w każdej pozycji od początku pasuje do odpowiedniego znaku od końca.

Wprowadzenie do IronPDF for Java

Odkryj funkcje IronPDF Java — potężną bibliotekę zaprojektowaną w celu uproszczenia procesu tworzenia, edycji i zarządzania dokumentami PDF w aplikacjach Java. Biblioteka ta oferuje programistom szeroki zestaw funkcji do manipulowania plikami PDF, w tym generowanie dokumentów PDF z HTML, obsługę formularzy, dodawanie obrazów i tekstu, a także zabezpieczanie dokumentów za pomocą szyfrowania i uprawnień. Prosty interfejs API i obszerna dokumentacja sprawiają, że zarówno początkujący, jak i doświadczeni programiści mogą z łatwością zintegrować funkcje obsługi plików PDF ze swoimi projektami Java.
Tworzenie dokumentu PDF
Stwórzmy prosty przykład ilustrujący wykorzystanie IronPDF for Java w połączeniu z koncepcją podciągu w Javie. W tym przykładzie wygenerujemy dokument PDF na podstawie ciągu znaków HTML. Następnie dodamy element tekstowy do pliku PDF, wykorzystując podciąg większego ciągu znaków, aby zilustrować integrację funkcji podciągów języka Java.
Dodawanie IronPDF for Java do projektu
Należy dodać IronPDF for Java do pliku pom.xml. Należy dodać zależność od IronPDF for Java oraz Slf4j. Oto jak można to bardzo łatwo zrobić.
<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>
Można jednak ręcznie pobrać IronPDF for Java z repozytorium Sonatype.
Generowanie pliku PDF przy użyciu metody Substring
Teraz nadszedł czas, aby napisać kod w pliku App.java. Utwórzmy prosty dokument PDF i dodajmy do niego tekst, pokazując, jak zintegrować metody podciągu w tym procesie:
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"));
}
}
Po wyodrębnieniu podciągu z dłuższego ciągu znaków można go płynnie włączyć do dokumentu PDF, zapewniając spójną reprezentację ciągu znaków w wygenerowanej treści PDF. Ten fragment kodu pokazuje podstawy tworzenia dokumentu PDF za pomocą IronPDF for Java, w tym generowanie treści z HTML oraz wykorzystanie funkcji podciągu w Javie do manipulowania i dodawania tekstu do pliku PDF. Po uruchomieniu tego kodu w określonym katalogu pojawi się plik PDF o nazwie "html.pdf".
Wynik
Oto plik PDF wygenerowany przez powyższy kod:

Jest to dokładnie to, co zdefiniowaliśmy w naszym kodzie. Dodaliśmy treść do pliku PDF przy użyciu metody Substring języka Java. To piękne połączenie IronPDF i metody Substring. Dzięki tej kombinacji można osiągnąć wiele.
Wnioski
Dzięki połączeniu tych funkcji Java IronPDF z potężnymi możliwościami manipulacji ciągami znaków w Javie, takimi jak metoda substring, można tworzyć zaawansowane aplikacje do przetwarzania plików PDF. Niniejszy przewodnik dostarczył podstawowej wiedzy na temat pracy z plikami PDF w Javie i pokazał, jak włączyć operacje na podciągach do projektów związanych z plikami PDF. Wypróbuj te przykłady i zgłębiaj temat, aby w pełni wykorzystać możliwości manipulacji plikami PDF w Javie.
IronPDF for Java oferuje bezpłatną wersję próbną, dzięki której programiści mogą zapoznać się z jego możliwościami. Ceny licencji na IronPDF zaczynają się od $799, zapewniając kompleksowe rozwiązania do generowania plików PDF dla projektów Java.





