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 に答える