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 次浏览

开启你的 职业生涯

完成课程即可获得认证

马上开始
广告
© . All rights reserved.