输入两个字符串,从第一字符串中删除第二个字符串中所有的字符【Java实现】

题目描述:

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符

输入描述:

“They are students”

“aeiou”

输出描述:

Thy  r  stdnts

程序代码:

package com.yt.dayPractice;

import java.util.ArrayList;
import java.util.Scanner;

public class RemString {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        String str1 = "";
        String str2 = "";
        ArrayList<Character> list = new ArrayList<>();
        while (in.hasNext()) {
            str1 = in.nextLine();
            str2 = in.nextLine();
            if (str1 == "") return;
            if (str2 == "") return ;

            for (int i = 0; i < str1.length(); i++) {
                //如果str2中不包含str1.charAt[i],就将这个字符添加到list中
                if (!(str2.contains(str1.charAt(i) + ""))) {
                    list.add(str1.charAt(i));
                }
            }
            //遍历list,将list中的元素输出
            for (int k = 0; k < list.size(); k++) {
                System.out.print(list.get(k) + "");
            }

        }


    }
}
运行结果:

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用Java的`replaceAll()`方法来实现这一功能。例如: ``` String str1 = "Hello World"; String str2 = "l"; str1 = str1.replaceAll(str2, ""); ``` 在这个例子,我们删除字符串`str1`所有的字符`'l'`。你也可以使用正则表达式来匹配更复杂的模式,例如: ``` str1 = str1.replaceAll("[a-z]", ""); ``` 这将删除字符串`str1`所有小写字母。 注意,`replaceAll()`方法会将匹配到的所有字符都替换成指定的字符串,如果你想仅删除第二个字符串字符而不替换为其他字符,你可以使用空字符串作为替换字符串。 希望这能帮到你! ### 回答2: 可以通过Java字符串操作方法来实现第一个字符串删除第二个字符串的内容。 步骤如下: 1. 定义一个函数,接收两个字符串参数,分别表示第一个字符串第二个字符串。 2. 使用String类的replace()方法,将第一个字符串第二个字符串替换为"",即删除第二个字符串的内容。该方法会返回一个新的字符串,不会影响原始字符串。 3. 将替换后的新字符串返回。 以下是实现示例代码: ```java public class Main { public static void main(String[] args) { String str1 = "Hello, World!"; String str2 = ", "; System.out.println(removeString(str1, str2)); // 输出:HelloWorld! } public static String removeString(String str1, String str2) { return str1.replace(str2, ""); } } ``` 在上述示例代码,我们定义了一个名为`removeString()`的函数,接收两个字符串参数`str1`和`str2`,并使用`replace()`方法将`str2`替换为"",即删除掉了`str1`的`str2`部分。最后将替换后的新字符串返回并打印输出。 注意,上述方法只能删除第一个在`str1`出现的`str2`,如果需要删除所有的`str2`,可以使用`replaceAll()`方法来替代`replace()`方法。 ### 回答3: 可以通过使用Java字符串处理函数来实现这个功能。 首先,我们需要使用Java的Scanner类来获取用户输入两个字符串。然后,我们可以使用Java的String类的replaceAll()方法来删除第二个字符串第一个字符串的内容。 具体实现如下: ```java import java.util.Scanner; public class DeleteString { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入第一个字符串:"); String str1 = scanner.nextLine(); System.out.print("请输入第二个字符串:"); String str2 = scanner.nextLine(); // 使用replaceAll()方法删除第二个字符串第一个字符串的内容 String result = str1.replaceAll(str2, ""); System.out.println("删除后的字符串为:" + result); } } ``` 这段代码首先使用Scanner类获取用户输入两个字符串,然后使用replaceAll()方法将第二个字符串第一个字符串的内容替换为空字符串,从而删除第二个字符串的内容。最后,将删除后的字符串输出给用户。 需要注意的是,这里的replaceAll()方法使用的是正则表达式来匹配字符串,因此如果第二个字符串含有特殊字符,可能会导致不符合预期的结果。如果要求只删除精确匹配的字符串,可以考虑使用String类的replace()方法来替代。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值