如何在分割字符串后打印分隔符 [英] How to print Delimiters after splitting string
本文介绍了如何在分割字符串后打印分隔符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码。
I have following code.
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中)
请帮助
I m getting output as abc xyz pqr 10100
But i want
abc
*
(
xyz
+
pqr
and so on.
(in c# or in javascript)
please help
推荐答案
string Test = "abc * (xyz+ pqr) - 10/100";
char[] delimiters = new char[] { '+', '-', '*', '/', '(', ')' };
int CurrentPos = 0;
foreach (var Elt in Test.Split(delimiters))
{
if (Elt != "")
{
Console.WriteLine("<{0}>",Elt);
CurrentPos += Elt.Length;
}
if (CurrentPos < Test.Length)
Console.WriteLine("<{0}>",Test[CurrentPos]);
CurrentPos++;
}
你可以迭代字符串字符并解析它们:
C#
You could iterate the string chars and parse them thusly:
C#
char[] delimiters = new char[] { '+', '-', '*', '/', '(', ')' };
string eq = "abc * (xyz+ pqr) - 10/100";
StringBuilder sb = new StringBuilder();
string chunk = string.Empty;
foreach (char c in eq)
{
if (delimiters.Contains(c))
{
sb.AppendLine(chunk);
sb.AppendLine(c.ToString());
chunk = string.Empty;
}
else
chunk += c;
}
sb.AppendLine(chunk);
string result = sb.ToString();
JavaScript
JavaScript
var delimiters = "+-*/()";
var eq = "abc * (xyz+ pqr) - 10/100";
var result = "";
var chunk = "";
for (var i = 0; i < eq.length; i++)
{
if (delimiters.indexOf(eq.charAt(i)) > -1)
{
result += chunk + "<br/>";
result += eq.charAt(i) + "<br/>";
chunk = "";
}
else
chunk += eq.charAt(i);
}
result += chunk;
document.write(result);
为了构建David_Wimbley的答案,他真正想念的只是调用Server.HtmlEncode(TestString)< br $>
To build on David_Wimbley answer, really all he missed is the call to Server.HtmlEncode(TestString)
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(Server.HtmlEncode(parts[i]) + "<br />");
}
这篇关于如何在分割字符串后打印分隔符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文