求高手帮我用C#写个函数来实现字符串的分割,不要直接用split函数,谢啦!!

lizzy_gogo 2011-03-21 08:12:05
求高手帮我用C#写个函数来实现字符串的分割,不要直接用split函数,谢啦!!
...全文
132 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
大Y 2011-03-22
  • 打赏
  • 举报
回复
不太明白LZ的用意????
beargo 2011-03-22
  • 打赏
  • 举报
回复
比如给一个s1=abcdefg,s2=cd,然后用s2分割s1,分完之后得到abefg.
-------------------------------------
从你这个理解,当然是replace啦,
不信你试试.
string s1=abcdefg,s2=cd;
string result = s1.Replace(s2,"");
result就是等于abefg
claymore1114 2011-03-22
  • 打赏
  • 举报
回复
不要把 问题复杂化了, replace split 都是不错的。
liandaohaibing 2011-03-22
  • 打赏
  • 举报
回复
把它读入字符串数组
land77 2011-03-21
  • 打赏
  • 举报
回复
要么就直接用FOR循环
char[] separator = s2.ToCharArray();//把分割字符串,转为数组.这个没所谓,不转也可以用//S2.Length
int state = 0;//检查符合分割状态,当某一个连续位置跟要分割的条件一样时,则成立一次分割.
ArrayList arr = new ArrayList();//分割出来的放在数组里
string s = "";
for(int n=0;n<s1.length;n++)
{
s += s1[n];
if(s1[n] == separator[state])
{
state++;
if(state==separator.Count)
{//说明已经有一个符合分割条件的.把之前的字符串加到数组里后,再初始化这些参数.
     arr.Add(s);
 state=0;
 s="";
}
}
  else{
state=0;//当s1[n] != separator[state]时,状态初始化
}
}
if(s != "")arr.Add(s);

大致这样吧,arr到最后即时跟SPLIT一样的数组.这里没有调试,大概的思路是这样的.方法有N多.这只是其中的一种.
land77 2011-03-21
  • 打赏
  • 举报
回复
比如给一个s1=abcdefg,s2=cd,然后用s2分割s1,分完之后得到abefg.
-------------------------------------
从你这个理解,当然是replace啦,
要是自己写个函数实现Split功能
要写个while循环,用IndexOf 找到分割位后,一次次递减字符串,直后最后没有.也就是IndexOf=-1跳出循环.
sirzxj 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 lizzy_gogo 的回复:]
求高手帮我用C#写个函数来实现字符串的分割,不要直接用split函数,谢啦!!
[/Quote]

http://www.baidu.com/baidu?word=split+C%23%E5%AE%9E%E7%8E%B0&se=360se_8_dg&ie=utf-8
lizzy_gogo 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fangxinggood 的回复:]
你这是 Replace 吧。。。
[/Quote]
不是replace啦~就是分割字符串....55555555555....咋没人理解我捏...
lizzy_gogo 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sirzxj 的回复:]
是哪个蛋疼的老师让你们这么干的吧 ?
[/Quote]
这是我可能会被面试到的题目啦~!高手们指点下啊!
sirzxj 2011-03-21
  • 打赏
  • 举报
回复
是哪个蛋疼的老师让你们这么干的吧 ?
星火燎猿 2011-03-21
  • 打赏
  • 举报
回复
用for循环遍历试试看,这个应该是最灵活的。
机器人 2011-03-21
  • 打赏
  • 举报
回复
你这是 Replace 吧。。。
烈火蜓蜻 2011-03-21
  • 打赏
  • 举报
回复
是吃饱了,撑着
lizzy_gogo 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lizzy_gogo 的回复:]
引用 1 楼 sxldfang 的回复:
怎么分割?得有分割的方法 吧!

比如给一个s1=abcdefg,s2=cd,然后用s2分割s1,分完之后得到abdefg.
[/Quote]
写错了,得到abefg.
lizzy_gogo 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sxldfang 的回复:]
怎么分割?得有分割的方法 吧!
[/Quote]
比如给一个s1=abcdefg,s2=cd,然后用s2分割s1,分完之后得到abdefg.
sxldfang 2011-03-21
  • 打赏
  • 举报
回复
怎么分割?得有分割的方法 吧!

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧