C# 在c中检查自定义格式的字符串#

C# 在c中检查自定义格式的字符串#,c#,C#,我正在为我的应用程序创建一个命令系统,但我不知道如何让c#识别字符串中的模式 例如: 添加(变量1、变量2) 如何让c#识别addUser(…)并做一些事情 我目前正在使用字符串contains,但如果用户类型add()()或add()(),它仍然可以工作 请帮忙 对不起,我的英语不好!这可能不完美,但可能会给你一些想法:) 我对你的问题很不清楚,请澄清。你可能会使用正则表达式,但我们确实需要知道你到底想做什么。看起来你想解析输入字符串。你想创建某种脚本语言吗?你想支持哪种表达式?只支持函数调用

我正在为我的应用程序创建一个命令系统,但我不知道如何让c#识别字符串中的模式

例如:

添加(变量1、变量2)

如何让c#识别
addUser(…)
并做一些事情

我目前正在使用字符串contains,但如果用户类型
add()()
add()(
),它仍然可以工作

请帮忙


对不起,我的英语不好!

这可能不完美,但可能会给你一些想法:)


我对你的问题很不清楚,请澄清。你可能会使用正则表达式,但我们确实需要知道你到底想做什么。看起来你想解析输入字符串。你想创建某种脚本语言吗?你想支持哪种表达式?只支持函数调用?好的!我想添加名为abc to database的用户将命令键入“addUser(abc)”这样的文本框。我现在要做的是:如果字符串包含“addUser”,那么将用户添加到数据库。问题是如果我键入“addUser------adfasdf”,它仍然有效,因为它包含“addUser”。我想要的是程序识别特定格式“addUser(…)”(带2个括号)并在这些括号中添加变量到数据库?请更具体一些。预计您将尝试一些东西,然后寻求帮助,前提是清楚地显示您尝试了什么,以及该代码的功能以及与您想要的不同之处的精确解释。回答这个问题的可能方法太多了正如现在所说的。
    static void Main(string[] args)
    {
        string example_input = "xxxxx Add(user1, user2) xxxxxx";
        string myArgs = getBetween2(example_input, "Add(", ")"); //myArgs = "user1, user2"

        if (myArgs != "EMPTY")
        {
            myArgs = myArgs.Replace(" ", ""); // remove spaces... myArgs = "user1,user2"
            string[] userArray = myArgs.Split(',');

            foreach (string user in userArray)
            {
                Console.WriteLine(user);

                //Your code here
            }
        }

        Console.ReadKey(); //pause
    }

    static string getBetween2(string strSource, string strStart, string strEnd)
    {
        try
        {
            int Start, End;
            if (strSource.Contains(strStart) && strSource.Contains(strEnd))
            {
                Start = strSource.IndexOf(strStart, 0) + strStart.Length;
                End = strSource.IndexOf(strEnd, Start);
                return strSource.Substring(Start, End - Start);
            }
            else
            {
                return "EMPTY";
            }
        }
        catch
        {
            return "EMPTY";
        }
    }