问题描述
1.怎么用System.Replace()方法来实现下面的代码;2.怎么用System.Split()方法来实现下面代码注意:System.Replace()和System.Split()方法各举例一次!希望带注释usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceP{classProgram{staticvoidMain(string[]args){stringchina="中国一词的含义在不同时代也不同,"+"大致统一时期略指全国,分裂时多指中原。"+"相传3000你年前,周公在阳城用土圭测度日影"+"测得夏至这一天午时,八尺之表周围景物均没有日影,"+"便认为这是大地的中心,因此周朝谓之中国。";intcount=Count(china,'国');Console.WriteLine("共有国字"+count+"个!");}publicstaticintCount(stringwhere,charfind){inttotal=0;for(inti=0;i<where.Length;i++){if(where[i]==find){total++;}}returntotal;}}
解决方案
解决方案二:
intd=str.length-str.replace("国","").length
解决方案三:
intd=str.split(newstring[]{"国"}).length;if(str.startwith(“国”)&&str.endwith(“国”))d=d+1;if(收尾都不是国)d=d-1
解决方案四:
//讲国字替换成空字符之后原来的字符串就会缩短,正好短了国字的数量的长度intcount0=china.Length-china.Replace("国","").Length;//以国字为分界点,比如1个国字可以分成2段,再减去1就是国字的数量intcount1=china.Split('国').Length-1;
解决方案五:
引用2楼mngzilin的回复:
intd=str.split(newstring[]{"国"}).length;if(str.startwith(“国”)&&str.endwith(“国”))d=d+1;if(收尾都不是国)d=d-1
能详细点吗带注释
解决方案六:
//将国字替换为空,少几个就是几个国字intcount0=china.Length-china.Replace("国","").Length;//例如:3个国字可以讲字符串分成4份,那么长度-1就是国字数量intcount1=china.Split('国').Length-1;
解决方案七:
最后一个是国字split一样会在国字后面取一个空字符串作为数组的最后一个元素引用2楼mngzilin的回复:
intd=str.split(newstring[]{"国"}).length;if(str.startwith(“国”)&&str.endwith(“国”))d=d+1;if(收尾都不是国)d=d-1
解决方案八:
该回复于2012-03-26 08:54:41被版主删除
解决方案九:
再解释一下:你的用法貌似是这样吧://去掉切割之后得到的为空字符串的数组元素intc=china.Split(newstring[]{"国"},StringSplitOptions.RemoveEmptyEntries).Length;//切割之后得到的数组允许空字符串intc1=china.Split(newstring[]{"国"},StringSplitOptions.None).Length-1;
引用4楼huangsi007的回复:
引用2楼mngzilin的回复:intd=str.split(newstring[]{"国"}).length;if(str.startwith(“国”)&amp;&amp;str.endwith(“国”))d=d+1;if(收尾都不是国)d=d-1能详细点吗带注释