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",而不是作为命令。
有什么有效的方法来解决这个问题吗?
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();