如何在字符串中获取“%”的最后一个索引?

时间:2009-08-26 14:09:54

标签: 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/abc.jpg\" />\r\n    <%--

任何帮助/建议表示赞赏。

4 个答案:

答案 0 :(得分:11)

这是因为该方法向后搜索字符串,朝向开头。通过指定起始位置0,您可以告诉它从第一个字符开始。除非第一个字符是“%”,否则它将返回-1,无论字符串的其余部分是什么。使用没有开始索引的LastIndexOf重载,您应该得到预期的结果。

答案 1 :(得分:10)

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

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

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

答案 2 :(得分:4)

如果字符串中没有%,则返回-1并按设计。它表示请求的字符串不存在于值“subString”

答案 3 :(得分:3)

从0结束开始,字符串末尾没有符号

content.LastIndexOf("%");