gpt4 book ai didi

c# - 如何输出字符串中的所有其他单词?

转载 作者:行者123 更新时间:2023-12-02 01:45:28 26 4
gpt4 key购买 nike

我是 C# 新手,只了解基础知识。我正在寻找有关如何从字符串变量中获取所有其他单词的代码示例。例如,如果变量是

String x = "Help me, coding is difficult"; 

我想返回单个字符串“帮助编码困难”。它需要是一个接受一个字符串并返回它的过滤版本的函数。

有人建议了我在研究过程中大部分已经见过的重复项:

  • How to split text into words?显示了非常复杂的逻辑,例如考虑到标点​​符号。我认为我可以只依靠空格,但如果您有更好的建议和解释 - 那就太好了。
  • Select every second element from array using lambda - 看起来很有希望,但示例展示了如何使用整数数组。我有字符串(或者可能有字符串数组,如果可以调整字符串拆分代码来提供)。
  • C# Print list of string array这听起来也很有希望,但它展示了如何打印结果,而不是如何将其作为函数的值返回。

最佳答案

您需要首先定义什么是单词分隔符,只是空格、逗号、句点或分号还是其他什么?然后你可以使用 String.Split .

char[] wordDelimiter = new[] { ' ','\t', ',', '.', '!', '?', ';', ':', '/', '\\', '[', ']', '(', ')', '<', '>', '@', '"', '\'' };
String x = "Help me, coding is difficult";
string[] words = x.Split(wordDelimiter, StringSplitOptions.RemoveEmptyEntries);

现在你有了一个包含所有单词的数组。但你想要其他的,你可以将它们填入 List<string> 并使用 for-loop 跳过其他的:

var everyOtherWord = new List<string>();
for(int i = 0; i < words.Length; i += 2)
{
everyOtherWord.Add(words[i]);
}

I would want to return "Help coding difficult"

所以你真的想要一个 string结果包含这些用空格分隔的单词?然后使用 String.Join (不知何故 String.Split对应方法):

string result = string.Join(" ", everyOtherWord);

关于c# - 如何输出字符串中的所有其他单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70978469/

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