如何在此代码中使用StringBuilder。
string strFunc = "data /*dsdsds */ data1 /*sads dsds*/";
while (strFunc.Contains("/*"))
{
int tempStart = strFunc.IndexOf("/*");
int tempEnd = strFunc.IndexOf("*/", tempStart);
if (tempEnd == -1)
{
tempEnd = strFunc.Length;
}
strFunc = strFunc.Remove(tempStart, tempEnd + 1 - tempStart);
}
逻辑是从字符串
中删除命令数据答案 0 :(得分:3)
你想做的事情就像是
string strFunc = "data /*dsdsds */ data1 /*sads dsds*/";
Regex reg = new Regex(@"/\*.+?\*/");
strFunc = reg.Replace(strFunc, String.Empty);
此处不需要StringBuilder
。
但是,为了提供一个使用StringBuilder
:创建一个包含已删除的'命令'的字符串的示例,您可以编写
MatchCollection commands = reg.Matches(strFunc);
StringBuilder sb = new StringBuilder();
foreach (Match m in commands)
sb.Append(m.ToString());
但你必须要注意格式化。
我希望这会有所帮助。