C# 如何获取“quot;”的最后一个索引%&引用;一串?
如何在.NET中获取字符串中“%”的最后一个索引? 我试过了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
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)是开始搜索的起始索引。谢谢弗雷德里克,谢谢大家。。。!!!