gpt4 book ai didi

c# - 获取字符串的前 250 个单词?

转载 作者:可可西里 更新时间:2023-11-01 07:49:56 25 4
gpt4 key购买 nike

如何获取字符串的前 250 个单词?

最佳答案

您需要拆分字符串。您可以使用 overload没有参数(假设有空格)。

IEnumerable<string> words = str.Split().Take(250);

请注意,您需要为 Enumerable.Take 添加 using System.Linq

您可以使用 ToList()ToArray() 从查询中创建一个新集合或节省内存并直接枚举它:

foreach(string word in words)
Console.WriteLine(word);

更新

因为它似乎很受欢迎,所以我添加了以下扩展,它比 Enumerable.Take 方法更有效,并且还返回一个集合而不是(延迟执行)查询.

它使用 String.Split 其中white-space characters如果分隔符参数为 null 或不包含任何字符,则假定为分隔符。但该方法还允许传递不同的分隔符:

public static string[] GetWords(
this string input,
int count = -1,
string[] wordDelimiter = null,
StringSplitOptions options = StringSplitOptions.None)
{
if (string.IsNullOrEmpty(input)) return new string[] { };

if(count < 0)
return input.Split(wordDelimiter, options);

string[] words = input.Split(wordDelimiter, count + 1, options);
if (words.Length <= count)
return words; // not so many words found

// remove last "word" since that contains the rest of the string
Array.Resize(ref words, words.Length - 1);

return words;
}

它可以很容易地使用:

string str = "A B C   D E F";
string[] words = str.GetWords(5, null, StringSplitOptions.RemoveEmptyEntries); // A,B,C,D,E

关于c# - 获取字符串的前 250 个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368345/

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