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