Java String 截取指定字符串开头指定字符串结尾

概述

在Java中,我们经常需要对字符串进行处理,其中一种常见的需求是截取指定字符串的开头和结尾部分。这可以通过使用String类中的一些方法来实现。

本文将以一个问题解决的方式来教会你如何使用Java来截取指定字符串的开头和结尾部分。首先,我们将通过流程图的方式梳理整个实现的步骤,然后一步步地介绍每个步骤需要做什么,并给出相应的代码示例。

流程图

flowchart TD
    subgraph 问题处理
        start[开始]
        input[输入原始字符串和待截取的开头和结尾字符串]
        cond[判断原始字符串是否包含开头和结尾字符串]
        subInput[输入待截取字符串的开头和结尾部分]
        sublength[计算截取部分的长度]
        getSubString[截取字符串的开头和结尾部分]
        output[输出截取结果]
        end[结束]
    end
    start --> input
    input --> cond
    cond -- 是 --> subInput
    cond -- 否 --> output
    subInput --> sublength
    sublength --> getSubString
    getSubString --> output
    output --> end

代码示例

接下来,我们将一步步地介绍每个步骤需要做什么,并给出相应的代码示例。

输入原始字符串和待截取的开头和结尾字符串

首先,我们需要从用户那里获取原始字符串和待截取的开头和结尾字符串。可以使用Scanner类来实现这一步骤。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入原始字符串:");
        String originalString = scanner.nextLine();
        
        System.out.print("请输入待截取的开头字符串:");
        String startString = scanner.nextLine();
        
        System.out.print("请输入待截取的结尾字符串:");
        String endString = scanner.nextLine();
        
        // 接下来的步骤...
    }
}

判断原始字符串是否包含开头和结尾字符串

接下来,我们需要判断原始字符串是否包含待截取的开头和结尾字符串。可以使用String类中的contains方法来实现。

boolean containsStartString = originalString.contains(startString);
boolean containsEndString = originalString.contains(endString);

输入待截取字符串的开头和结尾部分

如果原始字符串包含待截取的开头和结尾字符串,我们需要从用户那里获取待截取的开头和结尾部分。可以使用Scanner类来实现这一步骤。

Scanner scanner = new Scanner(System.in);

System.out.print("请输入待截取的开头部分:");
String startPart = scanner.nextLine();

System.out.print("请输入待截取的结尾部分:");
String endPart = scanner.nextLine();

计算截取部分的长度

接下来,我们需要计算截取部分的长度。可以使用String类中的indexOf方法来实现。

int startIndex = originalString.indexOf(startString) + startString.length();
int endIndex = originalString.indexOf(endString);
int subLength = endIndex - startIndex;

截取字符串的开头和结尾部分

最后,我们可以使用String类中的substring方法来截取字符串的开头和结尾部分。

String subString = originalString.substring(startIndex, endIndex);

输出截取结果

最后,我们将截取的结果输出给用户。

System.out.println("截取结果:" + subString);

完整代码示例

下面是整个过程的完整代码示例:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入原始字符串:");
        String originalString = scanner.nextLine();
        
        System.out.print("请输入待截取的开头字符串:");
        String startString = scanner.nextLine();
        
        System.out.print("请输入待截取的结尾字符串:");
        String endString = scanner.nextLine();
        
        boolean containsStart