字符所在字符串的位置

l171147904 2010-01-15 04:49:58
string="1234567890123456789123456";

我要的结果,查找 第2个1,所出现的位置!也就是 索引10;
大家帮忙。。。

若回答用 IndexOf("1",2); 那谢谢,顶起!
问题 无法得知,第一个1和第2个1之间 间隔字符数目
...全文
127 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
l171147904 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 huming_h 的回复:]
string s="1234567890123456789123456";
string[] r=s.Split('1');

if(r.Length>=2)
{
for(int i=1;i <r.Length;i++)
{

Console.WriteLine("第"+(i+1)+"个1和第"+i+"个1的间隔字数");
Console.WriteLine(r[i].Length);
//多了一个i++
}
}
[/Quote]

谢谢,你的热情!
l171147904 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cykevin 的回复:]
Console.WriteLine(new Regex("1").Matches(ss)[1].Index);
[/Quote]

谢了!
huming_h 2010-01-15
  • 打赏
  • 举报
回复
string s="1234567890123456789123456";
string[] r=s.Split('1');

if(r.Length>=2)
{
for(int i=1;i<r.Length;i++)
{

Console.WriteLine("第"+(i+1)+"个1和第"+i+"个1的间隔字数");
Console.WriteLine(r[i].Length);
//多了一个i++
}
}
huming_h 2010-01-15
  • 打赏
  • 举报
回复
string s="1234567890123456789123456";
string[] r=s.Split('1');

if(r.Length>=2)
{
for(int i=1;i<r.Length;i++)
{

Console.WriteLine("第"+(i+1)+"个1和第"+i+"个1的间隔字数");
Console.WriteLine(r[i].Length);
i++;
}
}
波导终结者 2010-01-15
  • 打赏
  • 举报
回复
得到第二个,减第一个,这个方法够简单明了的了,LZ还想要如何不费周章吗?
要么就用正则匹配喽。
cykevin 2010-01-15
  • 打赏
  • 举报
回复
Console.WriteLine(new Regex("1").Matches(ss)[1].Index);
nashina 2010-01-15
  • 打赏
  • 举报
回复
用正则表达式可以,不过觉得有点大题小做了;
多用几次indexof就可以实现的了
huming_h 2010-01-15
  • 打赏
  • 举报
回复
一个取下标值的函数,有这么高深吗??
huming_h 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 l171147904 的回复:]
引用 3 楼 huming_h 的回复:
indexof(1,2)得到的是第二个1的下标值,有什么问题吗?



你未准确理解,此函数!呵呵。。。
[/Quote]

汗。。。。。
mengfanzongfox 2010-01-15
  • 打赏
  • 举报
回复
string path = @"E:asdd\ds\photo.jpg";
path = path.Substring(0, path.LastIndexOf("."));
string s = path.Substring(path.LastIndexOf("\\") + 1);
Response.Write(s);
跟这个例子好像差不多饿!
l171147904 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 huming_h 的回复:]
indexof(1,2)得到的是第二个1的下标值,有什么问题吗?

[/Quote]

你未准确理解,此函数!呵呵。。。
l171147904 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ck11926375 的回复:]
肯定要用indexOf啊  这么简单的
先查出第一个的索引  在查第二个的索引

C# codestring ss="1234567890123456789123456";int index= ss.IndexOf("1");//index = ss.IndexOf("2", index + 1); Response.Write(ss.IndexOf("1", index+1).ToString());
[/Quote]

思路不错,谢谢!
有点费周章的感觉。。。

是否有别的办法?
huming_h 2010-01-15
  • 打赏
  • 举报
回复
indexof(1,2)得到的是第二个1的下标值,有什么问题吗?
ck11926375 2010-01-15
  • 打赏
  • 举报
回复
肯定要用indexOf啊 这么简单的
先查出第一个的索引 在查第二个的索引


string ss = "1234567890123456789123456";
int index = ss.IndexOf("1");
//index = ss.IndexOf("2", index + 1);
Response.Write(ss.IndexOf("1", index+1).ToString());
l171147904 2010-01-15
  • 打赏
  • 举报
回复
UP...

110,534

社区成员

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

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

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