关于分割字符串,另外…… 遇到一个问题输入一串数字,长度为偶数,需要将之分割(从左到右),成为2个数字一组的数组并且每个值前面加上0x比如:输入 12345678 变为:0x12,0x34,0x56,0x78 请教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string abc = "12345678"; string[] cba = new string[abc.Length / 2]; for (int i = 0; i < abc.Length / 2; i++) { cba[i] = "0x" + abc.Substring(i * 2, 2); } string rep = ""; for (int i = 0; i < cba.Length; i++) { rep = rep + cba[i] + " "; } MessageBox.Show(rep); 见代码:pubic static sring[] SplitEvenSting(string text) { string[] strs = new string[text.Length/2]; for(int i=0; i<text.Length; i+=2) strs[i] = "0x" + text[i].ToString() + text[i+1].ToString(); return strs; } 一句话版本:string result = Regex.Replace("12345678", @"\d{2}", m => "0x" + m.Value+(m.NextMatch().Success ? "," : "")); 还是一句话版本,不过不使用正则委托,不使用lambda了。string result = Regex.Replace("12345678", @"\d{2}", "0x$&,").TrimEnd(",".ToCharArray()); pubic static sring[] SplitEvenSting(string text) { string[] strs = new string[text.Length/2]; for(int i=0; i<text.Length; i+=2) strs[i] = "0x" + text[i].ToString() + text[i+1].ToString(); return strs; } @lz:由于时间仓促,代码中存在小错误,见谅:string[] strs = new string[text.Length/2]; for(int i=0 , size =0; i< strs.Length; i++ , size += 2) strs[i] = "0x" + text[size].ToString() + text[size+1].ToString();其他部分不变! 好吧,还是一句话版本,不用正则int i=0;"12345678".GroupBy(n => i++ / 2).ToList().ForEach(g => Console.WriteLine("0x" + new string(g.ToArray()))); 怎么引用外部Webservice 急求!电厂设备管理系统(课设用),大侠帮忙!!! GDI+画GIF格式图片,如何画! Form的构造函数和Load事件的区别? C# word格式文件显示已html形式显示问题 ericzhangbo1982111请进来,我刚才帖子结错了,还是不对 C#程序的内存消耗问题 大虾请进: C#写简单的web服务器;如何支持 aspx 和 xmlhttp. VS2010安装钩子失败 緊急求救︰請問怎樣才可以用ASP.NET更改服務器上指定目錄的名字? C#Winform中密码格式检验问题 数据绑定并更新问题(求助)
string abc = "12345678";
string[] cba = new string[abc.Length / 2];
for (int i = 0; i < abc.Length / 2; i++)
{
cba[i] = "0x" + abc.Substring(i * 2, 2);
} string rep = "";
for (int i = 0; i < cba.Length; i++)
{
rep = rep + cba[i] + " ";
}
MessageBox.Show(rep);
{
string[] strs = new string[text.Length/2];
for(int i=0; i<text.Length; i+=2)
strs[i] = "0x" + text[i].ToString() + text[i+1].ToString();
return strs;
}
{
string[] strs = new string[text.Length/2];
for(int i=0; i<text.Length; i+=2)
strs[i] = "0x" + text[i].ToString() + text[i+1].ToString();
return strs;
}
由于时间仓促,代码中存在小错误,见谅:
string[] strs = new string[text.Length/2];
for(int i=0 , size =0; i< strs.Length; i++ , size += 2)
strs[i] = "0x" + text[size].ToString() + text[size+1].ToString();
其他部分不变!
"12345678".GroupBy(n => i++ / 2).ToList().ForEach(g => Console.WriteLine("0x" + new string(g.ToArray())));