string.split 对于大量文本有效吗?

因此,我创建了一些代码行,可以接受两个字符串,拆分它们,并将 1 个字符串的每个单词与另一个字符串进行比较,并表示两个字符串中都存在相同的单词,如果是的话,但这是否是比较单词的有效方法大量文本,谈论 300-10000 个单词,因为 string、split 通过数组工作,所以它会破坏计算机内存吗?抱歉,我还在学习 CS 级别,所以几乎不知道任何术语。


我听说正则表达式非常擅长这种事情,但它非常令人困惑。


static void Main(string[] args)

{

    string text1 = "yeet went the black fox  cry went the chicken";

    string text2 = "yeet  the  fox  cry  the ";


    string[] spaced1 = text1.Split(" ");

    string[] spaced2 = text2.Split(" ");


    for (int s = 0; s < spaced1.Length; s++)

    {

        if (spaced1[s]== spaced2[s])

        {

            Console.WriteLine("same word");

            Console.WriteLine(spaced1[s]);            

        }

    }


    Console.ReadLine();

}

这个特定的代码给出了我想要的结果,我仍然需要使它在逗号和句号等处分开。


哈士奇WWW
浏览 87回答 2
2回答

HUX布斯

如果您必须处理大量单词,我希望它们存储在某个文件中。然后你可以使用一个Stream. 在10000字的情况下,你不必担心,因为这一次并不是一个很大的数字。

慕村225694

不完全确定你想在这里实现什么,但假设这是一个学习项目。您正在做的就是尝试查找两个数组中都存在的项目。为此,您可以使用 Intersect 方法。string text1 = "yeet went the black fox&nbsp; cry went the chicken";string text2 = "yeet&nbsp; the&nbsp; fox&nbsp; cry&nbsp; the ";string[] spaced1 = text1.Split(' ');string[] spaced2 = text2.Split(' ');IEnumerable<string> output = spaced1.Intersect(spaced2);这将创建您想要的输出。
打开App,查看更多内容
随时随地看视频慕课网APP