我正在做一些实验,我怎样才能在richTextBox Control中获得特定的字符串索引。
情形:
我需要找到#>
的lastIndex但与##>
原因(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 .
结果应该是单词#>
verified
的索引
答案 0 :(得分:0)
尝试使用正则表达式进行完全匹配:
int lastIndexOffragment = System.Text.RegularExpressions.Regex.Match(richTextBox1.Text, @"\#>\W").Index;
<强>更新强>
System.Text.RegularExpressions.Regex rx = new System.Text.RegularExpressions.Regex(@"\#>\W");
System.Text.RegularExpressions.MatchCollection matches = rx.Matches(richTextBox1.Text);
int lastIndex = matches[matches.Count - 1].Index;
答案 1 :(得分:0)
我知道这是非常难看的方法但是,我认为这将非常容易,而且不会被复杂化。
str = "your string";
int iLastIndex = str.Replace("##>", "^^>").LastIndexOf("#>");
您可以使用任何字符代替^
。