Java 程式將字串拆分為多個子字串


在本文中,我們將瞭解如何將字串拆分為多個子字串。字串是一種包含一個或多個字元且用雙引號(“ ”)引起來的資料型別。字串的一部分或子集稱為子字串。

以下是相同內容的演示 −

假設我們的輸入是

Input string: JVM

所需的輸出將是

The substring list printed as an ArrayList :
[J, JV, JVM, V, VM, M]

The sub-strings after splitting is:
(1) "J"
(2) "JV"
(3) "JVM"
(4) "V"
(5) "VM"
(6) "M"

演算法

Step 1 - START
Step 2 - Declare a string namely input_string, an array list namely string_list.
Step 3 - Define the values.
Step 4 - Iterate through the length of the string using two nested loops, and add every character from every string to another list. This is the result to be displayed on console.
Step 5 - To print this substring as ArrayList, initialize a counter, and iterate through the result and increment the counter after every iteration. This gives number of substrings in the string.
Step 6 - Display the result
Step 7 - Stop

示例 1

在此,我們將所有操作繫結在‘main’函式下。

import java.io.*;
import java.util.ArrayList;
public class SubString {
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      String input_string = "JVM";
      System.out.println("The string is defined as: " +input_string);
      int i, j;
      int string_length = input_string.length();
      ArrayList<String> string_list = new ArrayList<String>();
      for (i = 0; i < string_length; i++) {
         for (j = i + 1; j <= string_length; j++) {
            string_list.add(input_string.substring(i, j));
         }
      }
      ArrayList<String> result = string_list;
      System.out.println( "\nThe substring list printed as an ArrayList : ");
      System.out.println(result);
      System.out.println( "\nThe sub-strings after splitting is: ");
      int count = 1;
      for (String it : result) {
         System.out.println("(" + count + ") \"" + it + "\"");
         count++;
      }
   }
}

輸出

Required packages have been imported
The string is defined as: JVM

The substring list printed as an ArrayList :
[J, JV, JVM, V, VM, M]

The sub-strings after splitting is:
(1) "J"
(2) "JV"
(3) "JVM"
(4) "V"
(5) "VM"
(6) "M"

示例 2

在此,我們將操作封裝到表現面向物件的程式設計的函式中。

import java.io.*;
import java.util.ArrayList;
public class SubString {
   public static ArrayList<String> split_string(String input_string) {
      int i, j;
      int string_length = input_string.length();
      ArrayList<String> string_list = new ArrayList<String>();
      for (i = 0; i < string_length; i++) {
         for (j = i + 1; j <= string_length; j++) {
            string_list.add(input_string.substring(i, j));
         }
      }
      return string_list;
   }
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      String input_string = "JVM";
      System.out.println("The string is defined as: " +input_string);
      ArrayList<String> string_list = SubString.split_string(input_string);
      System.out.println( "\nThe substring list printed as an ArrayList : ");
      System.out.println(string_list);
      System.out.println( "\nThe sub-strings after splitting is: ");
      int count = 1;
      for (String it : string_list) {
         System.out.println("(" + count + ") \"" + it + "\"");
         count++;
      }
   }
}

輸出

Required packages have been imported
The string is defined as: JVM

The substring list printed as an ArrayList :
[J, JV, JVM, V, VM, M]

The sub-strings after splitting is:
(1) "J"
(2) "JV"
(3) "JVM"
(4) "V"
(5) "VM"
(6) "M"

更新於: 2022-03-29

556 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

馬上開始
廣告