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