如何从一个字符串中找到子串的个数?谢谢啦,100分在线等

fengforever 2004-12-10 09:32:57
string sTest = "0|12|13|20|30|15|0|2|";

请问如何从上面的字符串里找到0的个数?
20和30这样的数字后面的0不算

例如上面返回的结果应该是2而不是4

是不是应该用正则表达式来做?可惜我不会啊
恳请大侠们帮我搞定
谢谢啦
...全文
468 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
stepman 2004-12-22
  • 打赏
  • 举报
回复
up
8LY8Apollo 2004-12-22
  • 打赏
  • 举报
回复
楼主快给分!!!
cdo 2004-12-15
  • 打赏
  • 举报
回复
string[] ok;
string sTest = "0|12|13|20|30|15|0|2|";
int i = 0;
ok = sTest.Split('|');
foreach(string Oh in ok)
{
if ( Oh == "0" ) i++;
}
MessageBox.Show("你数数看是不是有 " + i.ToString() + " 个零。");

修改了一下:)
hebookboy 2004-12-15
  • 打赏
  • 举报
回复
用split函数
mobydick 2004-12-15
  • 打赏
  • 举报
回复
用这个正则式
regexString = @"\|?[^0-9](0)[^0-9]\|?";
kong19 2004-12-15
  • 打赏
  • 举报
回复
string[] ok;
string sTest = "0|12|13|20|30|15|0|2|";
int i = 0;
ok = sTest.split("|");
foreach(string Oh in ok)
{
if ( Oh == "0" ) i++;
}
MessageBox.Show("Oh,yeah~ ,有 " + i.ToString + "个零。")
兔子-顾问 2004-12-15
  • 打赏
  • 举报
回复
不熟悉c#。不好意思,又错。这次没语法错误了。这里


string[] ok;
string sTest = "0|12|13|20|30|15|0|2|";
int i = 0;
ok = sTest.Split('|');
foreach(string Oh in ok)
{
if ( Oh == "0" ) i++;
}
string Kao = System.Convert.ToString(i);
MessageBox.Show("Oh,yeah~ ,有 " + Kao + "个零。");
kong19 2004-12-15
  • 打赏
  • 举报
回复
同意wuyazhe(Love Is A Word.)

string[] ok;
string sTest = "0|12|13|20|30|15|0|2|";
int i = 0;
ok = sTest.split("|");
foreach(string Oh in ok)
{
if ( Oh == "0" ) i++;
}
MessageBox.Show("Oh,yeah~ ,有 " & i.ToString & "个零。")
兔子-顾问 2004-12-15
  • 打赏
  • 举报
回复
我vb.net来的,写法错了。更正一下。
string ok();
应该是:
string ok[];
兔子-顾问 2004-12-15
  • 打赏
  • 举报
回复
^_^。我有个想法,这样可以么?
string ok();
string sTest = "0|12|13|20|30|15|0|2|";
int i = 0;
ok = sTest.split("|");
foreach(string Oh in ok)
{
if ( Oh == "0" ) i++;
}
MessageBox.Show("Oh,yeah~ ,有 " & i.ToString & "个零。")
wq_sc 2004-12-15
  • 打赏
  • 举报
回复
关注一下!
howv 2004-12-15
  • 打赏
  • 举报
回复
up
8LY8Apollo 2004-12-15
  • 打赏
  • 举报
回复
public class test : System.Web.UI.Page
{
int count;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string sTest = "0|12|13|20|30|15|0|2|";
string [] aa;
aa = sTest.Split(new char[] {'|'});

for (int i=0;i<aa.Length;i++)
{
if (aa[i].ToString() == "0")
{
count +=1;
}
}
this.Response.Write(count.ToString());
}
}
wb00422 2004-12-11
  • 打赏
  • 举报
回复
用正则表达式实现:

string sTest = "0|12|13|20|30|15|0|2|0";
int Count = System.Text.RegularExpressions.Regex.Matches(sTest,@"(^0\|)|(\|0\|)|(\|0$)").Count;

其中: ^0\| 代表 字符串开头接 0|
\|0$ 代表 |0 接字符串结束
xiaoslong 2004-12-11
  • 打赏
  • 举报
回复
帮你顶一下
8LY8Apollo 2004-12-11
  • 打赏
  • 举报
回复
1.把字符赋值给数组
2.遍历数组
cpio 2004-12-11
  • 打赏
  • 举报
回复
string sTest = "|0|12|13|20|30|15|0|2|";
MessageBox.Show(System.Text.RegularExpressions.Regex.Matches(sTest,@"\|0").Count.ToString);
catman3000 2004-12-11
  • 打赏
  • 举报
回复
string sTest = "0|12|13|20|30|15|0|2|";
int Count=System.Text.RegularExpressions.Regex.Matches(sTest,@"\|0\|").Count;
if(sTest.Substring(0,1)=="0")Count++;
fengforever 2004-12-11
  • 打赏
  • 举报
回复
请问怎么样查找|0|的个数呢?
sequelbo 2004-12-11
  • 打赏
  • 举报
回复
先查|0|的个数?然后判断是否字符是否以 0|开始,|0结束
对应加上1
加载更多回复(3)

110,533

社区成员

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

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

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