Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取“quot;”的最后一个索引%&引用;一串?_C#_.net_String - Fatal编程技术网

C# 如何获取“quot;”的最后一个索引%&引用;一串?

C# 如何获取“quot;”的最后一个索引%&引用;一串?,c#,.net,string,C#,.net,String,如何在.NET中获取字符串中“%”的最后一个索引? 我试过了 string subString = content.Substring(0, startIndex); int nextOpeningComment = subString.LastIndexOf("%", 0); 这总是给我-1。 这里subString我得到的是: <div id=\"xyz\"> \r\n <img alt=\"\" src=\"App_Themes/Default/Images/a

如何在.NET中获取字符串中“%”的最后一个索引? 我试过了

string subString = content.Substring(0, startIndex);
int nextOpeningComment = subString.LastIndexOf("%", 0);
这总是给我-1。

这里
subString
我得到的是:

<div id=\"xyz\">  \r\n    <img alt=\"\" src=\"App_Themes/Default/Images/abc.jpg\" />\r\n    <%--

\r\n\r\n您正在查找出现的
%
,但您从位置0开始,并从那里向后搜索。位置0没有
%
字符,这就是
LastIndexOf
调用返回-1的原因

您需要在字符串末尾开始搜索:

string subString = content.Substring(0, startIndex);
int nextOpeningComment = subString.LastIndexOf("%");

如果字符串中没有%,那么根据设计,预期会返回-1。它表示请求的字符串不存在于值“subString”中,这是因为该方法向后搜索字符串,朝着开始。通过指定起始位置0,可以告诉它从第一个字符开始。除非第一个字符是“%”,否则无论字符串的其余部分包含什么,它都将返回-1。在不使用开始索引的情况下使用
LastIndexOf
重载,您应该会得到预期的结果。

从0开始的字符串末尾没有符号

content.LastIndexOf("%");

你有完整的例子吗?(具体来说,在此代码开始之前,内容和startIndex是什么。)在这种假定的失败情况下,
content
startIndex
的值是什么?内容中可能有一个百分比,但content.Substring(0,startIndex);可能不会:-)当然我很有信心…它真的不起作用了…它像“%”是一个特殊的符号,需要一些其他的处理吗?哇!!工作起来很有魅力。我认为它(0)是开始搜索的起始索引。谢谢弗雷德里克,谢谢大家。。。!!!