首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从完整的文本字符串中获取用户名

从完整的文本字符串中获取用户名
EN

Stack Overflow用户
提问于 2018-06-13 05:33:06
回答 1查看 91关注 0票数 0
代码语言:javascript
复制
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("BubbleBot: Hello! What's your name?");
Console.WriteLine("");
Console.ResetColor();

while (!shutdown)
{
    foundResponse = false;

    Console.Write("You: ");
    inputValue = Console.ReadLine().ToLower();
    Console.WriteLine("");

    Console.ForegroundColor = ConsoleColor.Blue;
    Console.Write("BubbleBot: ");
    switch(inputValue)
    {
        case "My name is ":
            foundResponse = true;
            outputValue = "Hello,";
            break;

我正在尝试制作一个聊天机器人,我想确保聊天机器人只有在“我的名字是”出现在聊天机器人之前时才会看到文本作为用户的名字。我不确定这是否可能,如果可能,我如何才能实现它?(基本上我想说明的是,"My name is“后面的任何单词都应该设置为字符串"userName")

EN

回答 1

Stack Overflow用户

发布于 2018-06-13 06:55:24

这将帮助你解决眼前的问题。

代码语言:javascript
复制
var nameIndicator = "my name is ";
var index = inputValue.ToLower().IndexOf(nameIndicator);

if (index == -1)
{
    // Not found
}
else
{
    var name = inputValue.Substring(index + nameIndicator.Length);
}

变量name将提取"My name is“后面的任何内容作为名称。

然而,我强烈建议您在这里重新考虑您的方法,因为这很容易出错。如果用户犯了打字错误怎么办?此外,从用户体验的角度来看,没有人想输入“我的名字是XYZ”,当被要求输入姓名时,您只需输入您的姓名。

您所能做的就是简单地询问名称,并获得用户输入作为名称。

备注

当您发布代码示例时,请在无需编辑即可运行的完整示例中发布。如果它太长,可以在这里查看如何发布Minimal, Complete, and Verifiable example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50826132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档