c#检查字符串是否有特定的单词

本文关键字:单词 检查 字符串 是否 | 更新日期: 2023-09-27 18:15:06

我用Cosmos做一个简单的操作系统来了解一下它。如果我想创建一个名为echo的命令行来回显用户的输入,首先我需要检查输入前面是否有"echo"。例如,如果我输入"echo hello world",我希望我的VMware回显"hello world",因为echo是我的新命令行。

我尝试的是

String input = Console.ReadLine();
if (input.Contains("echo")) {
    Console.WriteLine(input} 
}

效率不高。首先,VMware说

IndexOf(..., StringComparison) not fully supported yet!

用户可能会在字符串中间键入"echo",而不是作为命令。

有什么有效的方法来解决这个问题吗?

c#检查字符串是否有特定的单词

if(!string.IsNullOrEmpty(input) && input.StartsWith("echo"))
{
    Console.WriteLine(input);
}

您应该使用StartsWith而不是Contains。最好先检查字符串是空还是空

您可以使用空格分隔它,并检查开关

String input = Console.ReadLine();
String[] input_splited = input.split(' ');
switch(input_splited[0]){
    case 'echo':
      String value = input_splited[1];
      Console.WriteLine(value);
      break;
    case 'other_cmd':
      String other_value = input_splited[1];
      break;
}

我希望它对你有用。

我知道你需要这样的东西:

       const string command = "echo";
        var input = Console.ReadLine();
        if (input.IndexOf(command) != -1)
        {                
            var index = input.IndexOf("echo");               
            var newInputInit = input.Substring(0, index);
            var newInputEnd = input.Substring(index + command.Length);
            var newInput = newInputInit + newInputEnd;
            Console.WriteLine(newInput);
        }
        Console.ReadKey();