c#字符截取与转换 求将[{"title":null,"AnswerID":"100004","Answer":"很好"},{"title":null,"AnswerID":"10001","Answer":"不知道"}] 转换成[{"title":"很好","title":"不知道"}] 的最高效方法? c# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个其实用Jquery 会比较简单点因为那个Jquery对JSION的处理有很好的支持我的想法是你可以先用JQUERY处理后再传给后台建议你有时间看一下JQUERY 当然,以下不能算是最高效的方法如果其中元素个数固定,就是两个, 那直接替换就可以了如果为了追求高效,而且其中元系个数不定,那较好的方法是先提取后拼接成想要的结果StringBuilder sItems = new StringBuilder(128);Regex reg = new Regex(@"(?<=""Answer"":"")[^""]+(?=""\})");MatchCollection mc = reg.Matches(yourStr);for (int i = 0; i < mc.Count; i++){ if (i == 0) { sItems.Append("[{\"title\":\""); } else { sItems.Append("\"title\":\""); } sItems.Append(mc[i].Value); if (i == mc.Count - 1) { sItems.Append("\"}]"); } else { sItems.Append("\","); }}richTextBox2.Text = sItems.ToString();更高效的方法,因为规律固定,可以自己写有穷自动机实现02:53:01 这么“晚”还不睡 public static void Main(string[] args) { string str = "[{'title':null,'AnswerID':'100004','Answer':'很好'},{'title':null,'AnswerID':'10001','Answer':'不知道'}]".Replace("},{", "$"); string[] strArray = str.Split('$'); string strTemp = ""; for (int i = 0; i < strArray.Length; i++) { if (i == strArray.Length - 1) { strTemp += ","; } strTemp += strArray[i].Substring(0, strArray[i].IndexOf(":")); strTemp += strArray[i].Substring(strArray[i].LastIndexOf(":")); } Console.WriteLine(strTemp); Console.ReadKey(); }输出:[{'title':'很好','title':'不知道'}] 做过Jsp的进来下。 服务器端不使用office组件生成excel ASP考试迫在眉睫...有几个题目不会做 图片滚动 net结合js,有段代码不太理解,请指教 asp.net slider控件询问 用asp.net怎样实现两个DropDownList连动,不刷新页面 repeater嵌套问题,大家帮我看看!!! [100分]关于接口的问题?大家都知道,我会立刻给分的!!! .net的Deserialize能反序列化微信公众平台post的XML吗 分层问题 如何获取服务器system32的物理路径
因为那个Jquery对JSION的处理有很好的支持
我的想法是你可以先用JQUERY处理后再传给后台建议你有时间看一下JQUERY
当然,以下不能算是最高效的方法如果其中元素个数固定,就是两个, 那直接替换就可以了
如果为了追求高效,而且其中元系个数不定,那较好的方法是先提取后拼接成想要的结果StringBuilder sItems = new StringBuilder(128);
Regex reg = new Regex(@"(?<=""Answer"":"")[^""]+(?=""\})");
MatchCollection mc = reg.Matches(yourStr);
for (int i = 0; i < mc.Count; i++)
{
if (i == 0)
{
sItems.Append("[{\"title\":\"");
}
else
{
sItems.Append("\"title\":\"");
}
sItems.Append(mc[i].Value);
if (i == mc.Count - 1)
{
sItems.Append("\"}]");
}
else
{
sItems.Append("\",");
}
}
richTextBox2.Text = sItems.ToString();更高效的方法,因为规律固定,可以自己写有穷自动机实现02:53:01 这么“晚”还不睡
public static void Main(string[] args)
{
string str = "[{'title':null,'AnswerID':'100004','Answer':'很好'},{'title':null,'AnswerID':'10001','Answer':'不知道'}]".Replace("},{", "$");
string[] strArray = str.Split('$');
string strTemp = "";
for (int i = 0; i < strArray.Length; i++)
{
if (i == strArray.Length - 1)
{
strTemp += ",";
}
strTemp += strArray[i].Substring(0, strArray[i].IndexOf(":"));
strTemp += strArray[i].Substring(strArray[i].LastIndexOf(":"));
}
Console.WriteLine(strTemp);
Console.ReadKey();
}输出:[{'title':'很好','title':'不知道'}]