gpt4 book ai didi

c# - 在 C# 中提取子字符串的最快方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:04 24 4
gpt4 key购买 nike

我将处理数千个字符串(平均大小约为 150kB)。它们中的每一个都包含零个或多个以下形式的子字符串:

<a href="/link/i/want">Fixed_String</a>

我想提取所有此类链接并将它们放入列表中。

此外,还有另一个固定字符串,之后我要查找的字符串将不会出现。

获取琴弦的最快方法是什么?

最佳答案

The SubString() Option



正如 Teoman Soygul 所指出的,有一个 SubString() 选项,我不知道它是慢还是快,因为我没有并排测试它们。

现在,这没有被正确地分解为子方法,但应该给你一个大致的想法。
我只是使用 ReadOnlyCollection因为这是我在不需要进一步操作列表时所习惯的。将其更改为您喜欢的任何输出列表类型。
someText变量最有可能以 GetLinks 的参数结束。当然。
public ReadOnlyCollection<string> GetLinks()
{
string startingText = "href=''";
string endText = "''>";
string stopText = "Fixed_String";
string someText = @"what is this text <a href=''/link/i/want''>somenormallink</a> some random text <a href=''/another link/i/want''>Fixed_String</a> some more radnom txt ";

List<string> myLinks = new List<string>();

string[] rawLinks = someText.Split(new string[] { "<a " }, StringSplitOptions.None);

foreach (string rawLink in rawLinks)
{
if (!rawLink.StartsWith(startingText))
{
continue;
}

myLinks.Add(rawLink.Substring(startingText.Length, rawLink.IndexOf(endText, 1) - startingText.Length));


if (rawLink.Contains(stopText))
{
break;
}
}


return new ReadOnlyCollection<string>(myLinks);
}

这会产生一个包含链接的集合:
enter image description here

关于c# - 在 C# 中提取子字符串的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6214388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com