📜  门|门 CS 1996 |第 30 题(1)

📅  最后修改于: 2023-12-03 15:42:20.660000             🧑  作者: Mango

题目介绍

本题为门|门 CS 1996中的第30题,要求程序员编写一个程序,将给定的字符串中所有的“门”替换为另一个给定的字符串。

题目描述

给定三个字符串 str1str2str3,其中 str1 为原始字符串,str2 为需要替换的字符串,str3为用于替换的字符串。

请你编写一个程序,将原始字符串中所有的 str2 替换为 str3

输入格式

在第一行输入原始字符串 str1

第二行输入替换字符串 str2

第三行输入用于替换的字符串 str3

输出格式

输出替换后的字符串。

输入样例
ababca
ab
d
输出样例
dcdca
代码示例
str1 = input()
str2 = input()
str3 = input()

# 使用replace()函数进行替换
new_str = str1.replace(str2, str3)

print(new_str)
import java.util.Scanner;

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

        String str1 = sc.nextLine();
        String str2 = sc.nextLine();
        String str3 = sc.nextLine();

        // 使用replaceAll()函数进行替换
        String newStr = str1.replaceAll(str2, str3);

        System.out.println(newStr);
    }
}
#include <iostream>
#include <string>

using namespace std;

int main() {
    string str1, str2, str3;
    getline(cin, str1);
    getline(cin, str2);
    getline(cin, str3);

    // 使用replace()函数进行替换
    size_t pos = 0;
    while((pos = str1.find(str2, pos)) != string::npos) {
        str1.replace(pos, str2.length(), str3);
        pos += str3.length();
    }

    cout << str1 << endl;

    return 0;
}
思路分析

本题主要考察字符串的替换。可以使用语言提供的替换函数(例如Python中的replace()、Java中的replaceAll()、C++中的replace()等),也可以手动实现替换逻辑。这里以Python和Java为例,介绍如何使用语言自带的替换函数进行替换。