字符串示例:alt="hello world">" 我只想使用indexof和子字符串来获取hello world。
int indexDescription = line.IndexOf("alt=");
int indexDescriptionEnd = line.IndexOf("\" >");
string descriptionResult = line.Substring(indexDescription, indexDescriptionEnd - indexDescription);
结果是:“alt=”hello world”
我不知道如何摆脱“alt=
我试过:
string descriptionResult = line.Substring(indexDescription + 6, indexDescriptionEnd - indexDescription);
但是他给出了异常错误:
System.ArgumentOutOfRangeException:'索引和长度必须引用字符串中的位置。 参数名称:长度'
String.IndexOf 将返回传递的字符串第一次出现的索引。如果传递的字符串超过 1 个字符,则索引是该字符串的第一个字符的位置。对于字符串“alt=”的示例,第一次出现在字符串的开头,因此索引为 0。您需要将
"alt=\""
的长度添加到 indexDescription
中。比如:
int indexDescription = line.IndexOf("alt=\"") + "alt=\"".Length;
int indexDescriptionEnd = line.IndexOf("\" >");
string descriptionResult = line.Substring(indexDescription, indexDescriptionEnd - indexDescription)
请记住,这个问题非常微不足道,它只适用于您提供的假设(即所有字符串都与您所描述的完全一样)