我正在尝试创建一个正则表达式来标记字符串。字符串的一个例子是
ExeScript.ps1 $ 1,$ 0,%1,%3
或者它可能会被粗心地输入。 ExeScript.ps1 $ 1,$ 0,%1,%3`
我使用简单的正则表达式字符串。
Regex RE = new Regex(@"[\s,\,]");
return (RE.Split(ActionItem));
我在script1.ps1和$ 1之间得到了一大堆零 当它是均匀间隔时,如第一个例子中,我在script1.ps1和$ 1之间没有空格。
我做错了什么。我如何抑制空格并确保每个数组单元格中都有一个值,现在是一个空格。
鲍勃。
答案 0 :(得分:2)
试试这个正则表达式:
Regex RE = new Regex(@"[\s,\,]+");
+
使分隔符“前一项中的一个或多个”。这可能会有所帮助,但它不会检测到两个逗号的情况(它会将其解释为一个分隔符,这可能不是您想要的)。另一种可能性是:
Regex RE = new Regex(@"\s*,\s*");
是零个或多个空格,后跟逗号,后跟零个或多个空格。
您可能还需要决定如何处理输入,例如:
foo, ,bar
您可以将其视为三个项目的列表,其中第二个是单个空格。