为什么我在使用indexOf的时候总是得到0
本文关键字:候总 indexOf 为什么 | 更新日期: 2023-09-27 18:08:50
for (int i = 0; i < links.Count; i++)
{
int f = links[i].IndexOf("http");
}
links
= List<string>
例如,在索引0我有:http://test/107281.shtml#34
我想从这个链接中提取的只有:http://test/107281.shtml
末尾没有#34。
开头为什么总是返回0呢?
没错....
字符串中的第一个字符位于索引0,因此在字符串http://test/107281.shtml#34
中,http
是字符串中的第一件事,位于索引0…要提取,您可以使用regex或indexOf("#")
与substring
组合使用。
indexOf()方法返回指定值在字符串中第一次出现的位置。
var str = "Hello world, welcome to the universe.";
var n = str.indexOf("welcome");
输出为:13这是位置号
接下来从你想要删除的位置移除
我猜你在找这样的东西:
for (int i = 0; i < links.Count; i++)
{
int f = links[i].IndexOf("#");
}
这将给出第一个#
的索引。IndexOf("http")
应该给你0
,因为http
的索引是0
。
获取您正在寻找的字符串:
for (int i = 0; i < links.Count; i++)
{
var url = links[i].Substring(0, links[i].IndexOf("#"));
}
List<string> link_list = new List<string> { "http://test/107281.shtml#34", "http://test/107281.shtml#35" };
List<string> new_list = new List<string>();
foreach (var item in link_list)
{
string bb = item.Substring(0, item.ToString().IndexOf("#"));
new_list.Add(bb);
}