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

Man*_*ish 0 .net c# string

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

string subString = content.Substring(0, startIndex);
int nextOpeningComment = subString.LastIndexOf("%", 0);
Run Code Online (Sandbox Code Playgroud)

这总是给我-1.

subString我在这里得到的是:

<div id=\"xyz\">  \r\n    <img alt=\"\" src=\"App_Themes/Default/Images/abc.jpg\" />\r\n    <%--
Run Code Online (Sandbox Code Playgroud)

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

Fre*_*örk 11

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


Luk*_*keH 10

你正在寻找发生%但你从0位开始并从那里向后搜索.%位置0 没有字符,这就是LastIndexOf调用返回-1 的原因.

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

string subString = content.Substring(0, startIndex);
int nextOpeningComment = subString.LastIndexOf("%");
Run Code Online (Sandbox Code Playgroud)