为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
哈士奇WWW 2023-09-16 16:03:55
因此,我创建了一些代码行,可以接受两个字符串,拆分它们,并将 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();}这个特定的代码给出了我想要的结果,我仍然需要使它在逗号和句号等处分开。
查看完整描述

2 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

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



查看完整回答
反对 回复 2023-09-16
?
慕村225694

TA贡献1880条经验 获得超4个赞

不完全确定你想在这里实现什么,但假设这是一个学习项目。


您正在做的就是尝试查找两个数组中都存在的项目。为此,您可以使用 Intersect 方法。


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(' ');


IEnumerable<string> output = spaced1.Intersect(spaced2);

这将创建您想要的输出。


查看完整回答
反对 回复 2023-09-16
  • 2 回答
  • 0 关注
  • 63 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信