字符串作业5:从字符串中删除指定子字符串

一、代码:

package task_06_String;

/**
(1)从键盘循环录入录入一个字符串,输入"end"表示结束 
(2)定义一个方法 public Object[] deleteSubString(String str1,String str2) { }
(3)方法功能描述:从str1中删除所有的str2,并返回删除后的结果,返回结果为Object[]数组。 
   该数组的第一个元素为删除所有的str2后的最终的字符串
   该数组的第二个元素为删除的str2的个数
 */

import java.util.Scanner;

public class DeleteSubString
{
	/**
	 * @param str1 是进行被删除操作的字符串
	 * @param str2 是在str1中要删除的子字符串
	 * @return 一个Object[]数组: 
	   该数组的第一个元素为删除所有的str2后的最终的字符串
	   该数组的第二个元素为删除的str2的个数
	 */
	public static Object[] deleteSubString(String str1,String str2) { 
		// 定义一个有两个元素的名字为resultObject类型的数组
		Object[] result = new Object[2];
		// 将str1中所有为str2的子字符串用空串代替,则实现将str1中的所有为str2的子字符串删除
		String newStr = str1.replaceAll(str2, "");
		// 计算删除的str2的个数
		int deleteCount = (str1.length()-newStr.length())/str2.length();
		// 将删除所有的str2后的最终的字符串和删除的str2的个数分别赋值给result数组元素并返回
		result[0] = newStr;
		result[1] = deleteCount;
		return result;
	}
	// 接收并返回控制台输入的字符串
	static String consoleInput(Scanner sc) {
		String inputStr = null;
		if(sc.hasNextLine()) {
			inputStr = sc.nextLine();
		}
		return inputStr;
	}
	
	public static void main(String[] args)
	{
		Scanner sc = new Scanner(System.in);
		while(true) {
			System.out.print("请输入字符串(退出请输入end):");
			String inputStr = consoleInput(sc);
			if(inputStr !=null && inputStr.equals("end")) {
				System.out.println("程序已终止!");
				break;
			}
			else {
				System.out.print("请输入要删除的字符串(退出请输入end):");
				String delStr = consoleInput(sc);
				if(delStr !=null && delStr.equals("end")) {
					System.out.println("程序已终止!");
					break;
				}
				else {
					Object[] result = new Object[2];
					result = deleteSubString(inputStr,delStr);
					System.out.println(inputStr+" 删除掉其中所有的 "+delStr+" 后最终的字符串为:"+result[0]);
					System.out.println("删除的 "+delStr+" 的个数为:"+result[1]);
				}
			}
		}
		sc.close();
	}
}

二、运行结果:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值