【发布时间】:2020-08-03 20:52:07
【问题描述】:
我有 输入
string afterIN = "Text Field= Assignee AND Ticket Status != Deleted";
我尝试用下面的代码处理它:
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
string text = afterIN;
string[] words = text.Split(delimiterChars);
string str = "";
foreach (var word in words)
{
if (word != "")
{
string strDelimit = "\"";
str += strDelimit + word + strDelimit + ",";
}
}
我想要输出为
"Text Field",
"=",
"Assignee",
"AND",
"Ticket Status",
"!=",
"Deleted"
另一种类型的输入是 SQL 查询,例如
SELECT # Tickets WHERE Ticket Status=Open OR Ticket Status=Pending
所需的输出被拆分WHERE:
"Ticket Status",
"=",
"Open",
"OR",
"Ticket Status",
"=",
"Pending"
【问题讨论】:
-
您需要先在一张纸上列出您的规则,然后才能对其进行编程。我们不知道,为什么你期望那个输出。为什么它会那样解析你的字符串?显然,这不仅仅是在某些角色上分裂。你可以为它写一个语法吗?
-
如果将“”定义为分隔符,则不能有“文本字段”。你想要的似乎比你想象的要复杂。
-
我正在创建要传递给工具的动态字符串。像这样 IF [Text Field - Unsorted]="Assignee" AND [Ticket Status - Unsorted]!="Deleted" THEN [Update ID] ENDIF
标签: c# asp.net c#-4.0 webforms