C# 如何在拆分字符串后打印分隔符

C# 如何在拆分字符串后打印分隔符,c#,javascript,C#,Javascript,可能重复: 我有以下代码: 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++) {

可能重复:

我有以下代码:

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
……等等


(在c#或javascript中)

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

var test=“abc*(xyz+pqr)-10/100”;
var regex=/\s*([()*/+-])\s*/;
var部分=测试分割(正则表达式);
对于(变量i=0;i
但这在旧的Internet Explorer中不起作用,您需要在那里手动执行或使用。更好的跨浏览器解决方案:只需匹配变量名称和数字,并使用
match

var regex = /[()*/+-]|[a-z]+|\d+/g;
var parts = text.match(regex);

)

如果要输出到HTML,则需要确保在打印的每个元素后都添加了中断标记
,否则它们都将保持在同一行。试试这个:这也可能有帮助:示例字符串在他感兴趣的所有术语之间没有空格。啊,好吧!直到你指出那一点,你才明白!干杯我还要数学符号(+、-、(、)、*、/)。其仅印刷abc xyz pqr 10 100号。除非使用不支持的浏览器(请注意两个分隔符之间的空字符串),否则它将打印abc*(xyz+pqr)-10/100
var regex = /[()*/+-]|[a-z]+|\d+/g;
var parts = text.match(regex);
//Change this line
char[] delimiters = new char[] { '+', '-', '*', '/', '(', ')' };

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