c#中的字符串查找函数

c#中有没有一个字符串查找函数,可以查找出一个字符串中是否包含另一个字符串,若查找成功则返回true,否则返回false。

1、首先,自定义一个函数,实现是否子串的判断。

2、自定义函数中,定义一个字符数组,保存得到的子串。

3、如果子串为空,则输出整个字符串c。

4、用while语句循环判断字符串的每个字符,条件为首字符存在。

5、逐一判断每个字符,如果字符都相等,说明存在子串,输出得到的子串。

6、如果以字符串的某字符起始判断不存在子串,则接着判断下一个字符。

7、定义两个字符串数组,保存判断的字符串。

8、最后,调用自定义函数,用if语句判断是否为子串,如果结果不为空则输出是子串,如果结果为空则输出不是子串。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-23
indexOf()方法,查找某字符串在一个字符串内的位置,没有则返回-1
string aa="abcdef";
int a=aa.indexOf("bc");//a会等于1
int b=aa.indexOf("a");//b会等于0
int c=aa.indexOf("g");c会等于-1
所以你只要判断返回出来的int值是不是小于0就知道这个字符串里有没有包含指定的另一个字符串本回答被网友采纳
第2个回答  2010-06-23
bool contain=longstr.Contains("aaa");
但是这个方法是System.Linq中的
所以VS2005以及以下版本是不支持的
第3个回答  2010-06-22
有就是indexOf()方法,查找子串在一个字符串内的起始位置,它有九个重载,你自己研究研究
也可以自己写的,下面是我自己改写了一个,是用那个著名的kmp算法查找的(这个方法查找的效率是最高的),关于这个算法你可以 百度一下,我就不多说了(学习学习总是好的,呵呵 )
下面的代码粘到窗体里就能用了....
int[] next = new int[20];//全局变量
private void get_next(string p)
{
int i = 1, j = 0; next[1] = 0;
while (i < p.Length)
{
if (j == 0 || p.Substring(i - 1, 1) == p.Substring(j - 1, 1))
{
++i; ++j;
if (p.Substring(i - 1, 1) != p.Substring(j - 1, 1))
next[i] = j;
else next[i] = next[j];
}
else j = next[j];
}
}

private bool b_kmp(string s, string p)//s是主串p是要查找的子串
{
get_next(p);
int i = 1, j = 1;
while (i <= s.Length && j <=p.Length)
{
if (j == 0 || s.Substring(i - 1, 1) == p.Substring(j - 1, 1)) { ++i; ++j; }
else j = next[j];
}
if (j > p.Length) return true;
else return false;
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(b_kmp (textBox1.Text,textBox2.Text).ToString());
}
第4个回答  2010-06-22
public bool IsInclude(string reStr, string seStr){
return reStr.indexOf(seStr) >= 0 ;
}

c#中的字符串查找函数
1、首先,自定义一个函数,实现是否子串的判断。2、自定义函数中,定义一个字符数组,保存得到的子串。3、如果子串为空,则输出整个字符串c。4、用while语句循环判断字符串的每个字符,条件为首字符存在。5、逐一判断每个字符,如果字符都相等,说明存在子串,输出得到的子串。6、如果以字符串的某字符起...

在C#中怎样查找字符串中第二个字符的位置
=substitute(需要替换的文本,旧文本,新文本,第N个旧文本)现以查找”11X22X33“字符串中的第二个X为例 方法\/步骤 1.输入SUBSTITUTE函数 1X2X3 SUBSTITUTE(D3,"X","*",2)1X2X3→1X2*3 2.这样就将第二个X替换为"*"了,那么之后的事情就是查找这个"*"的位置了FIND("*",SUBSTITUTE(...

c#中如何在字符串中搜索字符
string xxx = "1a345b789abcdefg";for (int i = 0; i < xxx.Length;i++){ if (xxx[i]=="你要查找的字符"){ \/\/那麼i为它的索引 } }

C#中怎样从指定字符串中查找并替换字符串?
stringtxt="asdjsfk\/aaaaaaaaa";判断这个字符串中包含替换\/,就在斜杠前面加上字符‘x’1、使用if语句 if(txt.Contains("\/")){txt=txt.Replace("\/","x\/");} 2、使用条件运算符(?:)txt=txt.Contains("\/")?txt.Replace("\/","x\/"):txt;...

C#中如何计算一个字符串中某个指定字符的个数
使用函数indexof()来检索字符串中所需要的字符出现的次数。代码如下:class Program { static void Main(string[] args){ \/\/统计出字符串中,下雪出现的次数 string text = "今天下雪了吗,明天不会下雪了吧,什么时候才不下雪啊,我要去上学啊!";string keyWord = "下雪";int index = 0;int...

C#如何找出字符串中某一字符的所有位置
查找某字符在字符串中所有位置的实现代码如下:privatevoidbutton1_Click(objectsender,EventArgse){stringstr=textBox1.Text.Trim();char[]myChar=str.ToCharArray();for(inti=0;i<myChar.Length;i++){if(myChar[i].ToString()==textBox2.Text.Trim())MessageBox.Show(字符串+textBox2.Text....

indexofc#
String的IndexOf方法是一个用于查找指定字符或字符串首次出现位置的函数,它接受三个参数:要查找的Unicode字符(value),可选的搜索起始位置(startIndex),以及可选的要检查的字符数(count)。如果不设置起始位置(startIndex),则默认从字符串的起始位置0开始搜索。如果找不到匹配项,返回-1。例如,...

C#中如何查找某字符在字符串里的位置?
字符串.IndexOf(' 字符');返回的是下标从0开始的位置

c#中想要让字符串取前面的一部分,是什么函数啊?
返回位于 String 对象中的指定位置的子字符串。以带有颜色区分的格式查看复制到剪贴板打印function substring(start : Number[, end : Number]) : String function substring(start : Number[, end : Number]) : String 实参start 必选。从 0 开始的索引整数,指示子字符串的起始位置。end 可选。从...

C#语言字符串 --- 截取字符串的常用函数
abc"则替换成"ABC":利用`Replace`方法实现字符串替换,将"abc"替换为"ABC"。代码如下:`string.Replace("abc", "ABC")`。通过这些C#字符串截取函数,开发者能够高效地处理字符串数据,提高编程效率。掌握这些基本技巧后,用户可以进一步探索C#中的其他字符串操作,以满足更复杂的应用需求。

相似回答