编程社区 » C#编程 » 如何从一个字符串中找到子串的个数?谢谢啦,100分在线等

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


fengforever



 发表:

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


string sTest = "0|12|13|20|30|15|0|2|";

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

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

是不是应该用正则表达式来做?可惜我不会啊
恳请大侠们帮我搞定
谢谢啦


fengforever
回复:

up

brightheroes
回复:

我觉得你最好这样组合你的字符串

string sTest = "|0|12|13|20|30|15|0|2|";

这样你可以查找|0|的个数

否则你需要找 0|,|0|,|0

brightheroes
回复:

这样的话,不精确
20|
0|
到底算不算
所以建议你修改你组合字符串的方式

sequelbo
回复:

先查|0|的个数?然后判断是否字符是否以 0|开始,|0结束
对应加上1

fengforever
回复:

请问怎么样查找|0|的个数呢?

catman3000
回复:

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++;

cpio
回复:

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

8LY8Apollo
回复:

1.把字符赋值给数组
2.遍历数组

xiaoslong
回复:

帮你顶一下

wb00422
回复:

用正则表达式实现:

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 接字符串结束

8LY8Apollo
回复:

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());
}
}

howv
回复:

up

wq_sc
回复:

关注一下!

wuyazhe
回复:

^_^。我有个想法,这样可以么?
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 & "个零。")

wuyazhe
回复:

我vb.net来的,写法错了。更正一下。
string ok();
应该是:
string ok[];

kong19
回复:

同意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 & "个零。")

wuyazhe
回复:

不熟悉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
回复:

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 + "个零。")

mobydick
回复:

用这个正则式
regexString = @"\|?[^0-9](0)[^0-9]\|?";

hebookboy
回复:

用split函数

cdo
回复:

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() + " 个零。");

修改了一下:)

8LY8Apollo
回复:

楼主快给分!!!

stepman
回复:

up


相关文章
C#2005自定义控件制作问题,急!
为什么这样简单的SQL都没法出结果.郁闷
请各位指点一下,vs2003C#中,for循环使用ExecuteNonQuery();
在线请教
2个DataTable的对比问题
关于枚举类和集合类的问题,高手指点下哦
如何在c# 中使用zlib.dll 库?
[求助]做8出这个题目
什么是键?
指定默认打印机时出错,请教各位高人?
mediaplayer控件在播放前等待时间过长的原因
c#的一个类型转换的问题[给分哦]
热门文章
DataGridView如何保存编辑后的行到数据库?
简单问题:combobox 如何把选中的项的value值传到textbox中
如何读取Excel文件中有数据的单元格的行数? (注mysheet.UsedRange.Columns.Count 函数不是非常准确)
c#中,MSChart 如何引用操作!!
子窗体如何调用父窗体的函数和变量,
C#怎样访问Access数据库中的OLE对象类型-----急,请高手帮忙
请教 怎样用C#修改Word的页眉页脚
c# winform datagrieview 编辑添加列进添加的DataGridViewButtonColumn 找不到点击事件?那有?
web中当子窗口弹出后,如何使鼠标点击父窗口上无效?(非模式)
请问我在C#中怎么调用水晶报表,我的水晶报表是11的
如何获取Udp远程主机的信息
C#中如何判断标点符号

编程社区 2008 浙ICP备09013498号
© TinyBBS.cn
编程好站连接:codeproject sf.net codeplex