温馨提示:本文翻译自stackoverflow.com,查看原文请点击:c# - Extracting a block of text after the last instance of a specific string
c# split string substring

c# - 在特定字符串的最后一个实例之后提取文本块

发布于 2020-03-27 16:04:41

我有一个文本文件,需要从该文本文件中提取特定字符串的最后一个实例之后的一段文本。为了更好地说明需要什么:

SpecificString#1:
 TextBlock#1
SpecificString#2:
 TextBlock#2
...
SpecificString#5:
 TextBlock#5

所有特定的字符串都是相同的,并且实例数可以变化。到目前为止,我可以使用以下代码提取特定字符串的第一个实例之后的所有TextBlocks:

const string separator = "SpecificString";
var separatorIndex = myTextFileString.IndexOf(separator, StringComparison.CurrentCultureIgnoreCase);
var requiredTextBlock = myTextFileString.Substring(separatorIndex + separator.Length);

但是,我只想抓取最后一块文本(在这种情况下为TextBlock#5)。我该如何实现?

查看更多

查看更多

提问者
Giedrius666
被浏览
142
Abhijit Pal 2020-01-31 16:57

您可以使用String.LastIndexOf()方法获取C#中分隔符的最后一个索引请查看https://docs.microsoft.com/zh-cn/dotnet/api/system.string.lastindexof?view=netframework-4.8

一旦知道了最后一个索引,就可以按照上面提到的相同步骤提取其后的文本块。