C# 使用验证获取lastIndex

C# 使用验证获取lastIndex,c#,winforms,C#,Winforms,我正在做一些实验,研究如何在richTextBox控件中获取字符串的特定索引 情景: 我需要找到>的最新索引,但与>不匹配 原因2将阻止 以下是我现在的开始: string text = richTextBox1.Text; int lastIndexOffragment = text.LastIndexOf('#>'); 问:我如何通过验证找到>的实际最后一个索引?这不是> --更新 注:如有可能,无循环,例如foreach或forloop rtb中的示例字符串: #> 0000

我正在做一些实验,研究如何在richTextBox控件中获取字符串的特定索引

情景: 我需要找到>的最新索引,但与>不匹配

原因2将阻止

以下是我现在的开始:

string text = richTextBox1.Text;
int lastIndexOffragment = text.LastIndexOf('#>');
问:我如何通过验证找到>的实际最后一个索引?这不是>

--更新

注:如有可能,无循环,例如foreach或forloop

rtb中的示例字符串:

#> 000010 IDENTIFICATION DIVISION.
#> 000020 PROGRAM-ID. K1.
##> 000030
#> 000040 ENVIRONMENT DIVISION.
#> 000050 INPUT-OUTPUT SECTION.
##> 000060 FILE-CONTROL.
#> 000070     SELECT  OPTIONAL LOGIN-TABLE1
##> 000080     ASSIGN TO "LL22"
##> 000090     ORGANIZATION IS INDEXED
verified #> 000100     RECORD KEY IS LPASSWD
done ##> 000110     ACCESSING MODE IS COMPLETED .

结果应为单词verifyed后的>索引

请尝试正则表达式以获得精确匹配:

int lastIndexOffragment = System.Text.RegularExpressions.Regex.Match(richTextBox1.Text, @"\#>\W").Index;
更新:


我知道这是一个非常丑陋的方法,但我认为这将是非常容易和不复杂的

str = "your string";

int iLastIndex = str.Replace("##>", "^^>").LastIndexOf("#>");

您可以使用任何字符来代替^。

您能在这里显示示例字符串吗?@Shell我想这意味着aaa>>。LastIndexOf>是8,但OP需要4。@Shell已应用。这是我用来测试的字符串。@artm是的,你的right@artm确切地说,但是很难用regex找到字符串中字符的最后一个索引。它是否与>?
str = "your string";

int iLastIndex = str.Replace("##>", "^^>").LastIndexOf("#>");