【发布时间】:2022-02-04 06:14:05
【问题描述】:
我是 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 这听起来也很有希望,但它展示了如何打印结果,而不是如何将其作为函数的值返回。
【问题讨论】:
-
如何定义单词之间的边界?如果
me,是第一个单词,您会包含还是排除逗号? -
如果我没记错的话,最好排除我认为可以使用 .split 完成的逗号?
-
除非你能以某种已知的方式限制文本,或者对边缘案例周围的许多错误感到满意,否则你就站在了这部漫画的错误一边:xkcd.com/1425 和你在问什么for 相当于一个功能齐全的自然语言处理器。
-
标点符号呢?还是撇号?还是连字符? "What counts as a Word?" 很难描述,除非你只是在做“一个空间是唯一重要的事情”。
-
如果您只是想去掉标点符号,并在空格上分割,那么
string.Split是正确的方向,然后是for循环。我们可以回答这些问题,但我认为你会更适合先学习一些教程,一旦你尝试实现,就在这里提问