当前位置: 首页 > 知识库问答 >
问题:

替换字符串语句C#中的多个单词

花飞扬
2023-03-14

大家好,我不需要答案,但我想知道并找出我做错了什么。作为一名初学者,我的学习任务非常“简单”。我需要创建一个字符串,在这个字符串中,我需要用其他单词替换一些单词,而不需要使用for循环:(我也想打印它,但我不知道该把Console.WriteLine放在哪里。谷歌搜索1小时不起作用,或者问了一个同事。

/*练习:与stringBuilder一起使用*猫变成小猫*狗变成小狗*老鼠变成小鼠*单词必须替换为*不要使用循环*/


using System;
using System.Collections.Generic;
using System.Text;

namespace Opgavens_leerpad_3_oefening
{
    class Program
    {
        static string Main(string[] args)
        {
            StringBuilder sb = new StringBuilder();

            string dogCat = new string("Can the cat find the mouse without waking the dog.");

            static string replacethisstring(string dogCat);
            {
                hondKat = dogCat.Replace("cat", "littlecat");
                hondKat = dogCat.Replace("dog", "littldog");
                hondKat = dogCat.Replace("mouse", "littlemouse");
                hondKat = dogCat.Replace("the", "a");
                return dogCat;
            }
        }
    }
}

错误CS5001:程序不包含适用于入口点的静态“Main”方法(我不明白,不是几乎所有程序都以这个静态Main参数开始吗?)

错误cs 8112:replace thistring(string)'是一个局部函数,因此必须始终有一个体。(我只是给了它一个身体对吧?我打开{并关闭它},然后用return替换它。)

共有3个答案

百里胜泫
2023-03-14

有几个问题,如拼写错误、语法错误等。此外,该练习具有需要与字符串生成器一起使用的条件。

那么,试试这个。

    static void Main(string[] args)
    {
        StringBuilder sb = new StringBuilder("Can the cat find the mouse without waking the dog?");
        sb = replacethisstring(sb);

        Console.WriteLine(sb.ToString());
        Console.ReadLine();
    }

    static StringBuilder replacethisstring(StringBuilder dogCat)
    {
        StringBuilder hondKat = dogCat.Replace("cat", "littlecat");
        hondKat = dogCat.Replace("the", "a");
        hondKat = dogCat.Replace("dog", "littledog");
        hondKat = dogCat.Replace("mouse", "littlemouse");
        return hondKat;
    }
周飞语
2023-03-14
  1. 你的main应该有一个void作为返回类型。不允许使用字符串,但int是一个选项(请参阅参考)
  2. 您不能有位于函数声明的末尾,该函数声明具有主体
  3. 你必须声明一个变量才能使用它…string hondKat
  4. 请参阅以下代码中StringBuilder的用法,而不是字符串
namespace Opgavens_leerpad_3_oefening
{
    class Program
    {
        public static void Main(string[] args)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("Can the cat find the mouse without waking the dog.");
            sb = replacethisstring(sb);

            Console.WriteLine(sb.ToString());
            Console.ReadLine(); // To Stop the Console from closing.

            static StringBuilder replacethisstring(StringBuilder dogCat)
            {
                dogCat = dogCat.Replace("cat", "littlecat");
                dogCat = dogCat.Replace("dog", "littldog");
                dogCat = dogCat.Replace("mouse", "littlemouse");
                dogCat = dogCat.Replace("the", "a");
                return dogCat;
            }

        }
    }
}

您可以将函数放置在Main内或外部。通常您会在Main类之外找到函数。

    public static void Main(string[] args)
    {
    ...
    }

    public static string replacethisstring(string dogCat)
    {
    ...
    }
邴兴为
2023-03-14

方法声明以< code >结尾;这就是CS8112的原因

Main方法必须返回(或'int'),您已经将其修改string,这就是CS5001的原因

如果希望程序在控制台上打印输出,请使用:

using System;

....

 Console.WriteLine(output)
 类似资料:
  • 问题内容: 问题是需要替换给定字符串中的单个字符,同时保留字符串中的其他字符。 代码是: 问题答案: 您几乎做到了,只需在循环中添加一个计数器即可:

  • 我想替换字符串中的一些单词。我有可行的解决方案,但我认为这不是最好的。你能帮我做些更有效的事情吗 代码是avaiable在这里:https://codepen.io/yasAFE/pen/BYOVme

  • 本文向大家介绍C语言宏是简单的字符串替换,包括了C语言宏是简单的字符串替换的使用技巧和注意事项,需要的朋友参考一下 示例 宏是简单的字符串替换。(严格来说,它们使用预处理令牌,而不是任意字符串。) 您可能希望此代码可以打印9(3*3),但实际上5会被打印,因为宏将扩展为1+2*1+2。 您应该将参数和整个宏表达式括在括号中,以避免出现此问题。 另一个问题是,不能保证对宏的参数进行一次评估。它们可能

  • 问题内容: 我有一些带有以下格式的方程式的字符串。 我还有一个文本文件,其中包含每个变量的名称,例如: 等等… 什么是对我来说,写代码的最佳方式,使其在插头到处发生,并且对等? 问题答案: 对于string ,请使用以下函数:

  • 我希望我的程序替换输入字符串中的每个元音。

  • 我有一个文件,其中包含以下格式的正则表达式和替换文字字符串列表: 我想替换所有匹配的字符串与在多个文件。 我相信这是一个常见的问题,以前应该有人做过类似的事情,但我就是找不到用bash编写的现有解决方案。 例如: 输入: 预期产出: 主要挑战是: 要替换的字符串由POSIX扩展正则表达式描述,而不是文字,任何不是POSIX ERE元字符的字符,包括经常被一些工具用作regexp分隔符的,都必须被视