0

可能重复:
如何按字符串拆分字符串并使用 .NET 包含分隔符?

我有以下代码:

string Test="abc * (xyz+ pqr) - 10/100";

char[] delimiters = new char[] { '+', '-', '*', '/', '(', ')' };
string[] parts = Test.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < parts.Length; i++)
{
    Response.Write(parts[i]);
}

我得到的输出为:

abc xyz pqr 10100

但我想要:

abc
*
(
xyz
+
pqr

...等等。

(在 c# 或 javascript 中)

4

2 回答 2

2

在 JavaScript 中,您可以使用正则表达式的捕获组:

var test = "abc * (xyz+ pqr) - 10/100";

var regex = /\s*([()*/+-])\s*/;
var parts = test.split(regex);
for (var i = 0; i < parts.length; i++)
    document.writeln(parts[i]);

然而,这在较旧的 Internet Explorer 中不起作用,您需要在那里手动完成或使用这个 shim。更好的跨浏览器解决方案:只需匹配变量名和数字,然后使用match

var regex = /[()*/+-]|[a-z]+|\d+/g;
var parts = text.match(regex);
于 2013-01-14T16:25:16.957 回答
-1
//Change this line
char[] delimiters = new char[] { '+', '-', '*', '/', '(', ')' };

//Change it to
char[] delimiters = new char[] { ' ' };

;

于 2013-01-14T16:27:44.257 回答