如何用C#取得某字符串在目标字符串中首次出现的位置索引?

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:49:02
例如某字符串形如:safdasfdasfdfwerwC语言safasdfasfVB语言dsadC语言asdfadfdsadC语言asdfad
我怎样才能知道第一个“C语言”在这个字符串里的起始位置的索引呢?
因为目标字符串中“C语言”的位置不固定,所以我想用程序查出来。

PHP里有:strpos: 寻找字符串中某字符最先出现处。
不知C#里有没有这样的函数?

string a="safdasfdasfdfwerwC语言safasdfasfVB语言dsadC语言asdfadfdsadC语言asdfad "
string b="C语言"

int cp=a.indexOf(b)

呵呵,记不清大小写了。

直接用string类型变量的通用方法:indexOf。这个方法返回的数据类型是int,它有3个重载的方法,分别是indexOf(char c)检测c在字符串中首次出现的位置,indexOf(string str)检测字符串在母串中首次出现的位置,indexOf(string str,int start,int count)从start开始,检测count个字符,判断str在母串中的位置。

string str1="safdasfdasfdfwerwC语言safasdfasfVB语言dsadC语言asdfadfdsadC语言asdfad "
string str2="C语言"
int str1=a.indexOf(str2);
这个方法indexOf(String)
返回在该字符串中指定的子字符串第一次出现处的索引。 如果没找到则返回-1.

code11 = "safdasfdasfdfwerwC语言safasdfasfVB语言dsadC语言";
i = code11.IndexOf("C语言");
Console.WriteLine(i);

string mystring = "dfjkdgjdjdsg";
Response.Write(mystring.IndexOf('f'));
页面返回结果为1

索引从0开始的!

如果你想这样的话:
d变成1,f变成2 ……

那么你可以试试看

string mystring = "dfjkdgjdjdsg";