【问题标题】:Finding a word - String Operationg or Linq查找单词 - String Operationg 或 Linq
【发布时间】:2010-07-14 08:38:19
【问题描述】:

我有一个几百字的字符串。

如何获取每个“单词”(也可以是单个字母数字或标点符号),并且在找到每个“单词”后,将其从字符串中删除。

这可能吗?

示例

字符串:

“这是一个充满单词和字母的字符串,还有一些标点符号!和num6er5。”

就算法而言,上面的字符串正好有15个单词。

【问题讨论】:

  • 你的意思是你要删除一个充满随机字母的字符串中的所有真实单词?
  • +1。愚蠢的我最初没有这样做。我刚刚添加了一个示例。

标签: c# .net linq string word


【解决方案1】:

您尝试执行的操作称为标记化。

在 C# 中,字符串 Split() 函数运行良好。如果它像在 Niedermair 的代码中一样使用,不带任何参数,它会返回一个字符串数组,由任何空格分割(分割?),如下所示:

“我有空格”-> {“我”、“有”、“空格”}

您还可以将要拆分的任何字符作为参数提供给 Split()(例如,',' 或 ';' 来处理 csv 文件)。

Split() 方法不关心字符串中的内容,因此将处理任何字母、数字和其他字符。

关于从字符串中删除单词:您可能希望将字符串写入缓冲区以实现此目的,但我认为这太过分了。字符串是不可变的,这意味着无论何时删除“下一个单词”,都必须重新创建整个字符串对象。 只拆分()整个字符串,将字符串扔掉,然后从那里开始处理数组会容易得多。

【讨论】:

  • 感谢 Streamcap。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多