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

How to print Delimiters after splitting string

本文关键字:打印 分隔符 字符串 拆分      更新时间:2023-09-26

可能重复:
如何使用.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中(

在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中不起作用,您需要在那里手动执行或使用此填充程序。更好的跨浏览器解决方案:只需匹配变量名称和数字,并使用match:

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[] { ' ' };