如何删除c#中单词的某些字符

时间:2010-09-22 14:17:03

标签: c# .net string

我有一个

string word = "degree/NN";

我想要的是删除该单词的"/NN"部分,只取"degree"字。

我有以下条件:

  • 在不同的场合,单词的长度可以不同。 (可以是任何单词,因此长度不固定)
  • 但这个词总是会包含"/NN"部分。

如何在C#.NET中执行此操作?

4 个答案:

答案 0 :(得分:4)

您可以使用String.Remove将输入字符串缩短三个字符,如下所示:

string word = "degree/NN";

string result = word.Remove(word.Length - 3);

如果斜杠后面的部分具有可变长度,您可以使用String.LastIndexOf来查找斜杠:

string word = "degree/NN";

string result = word.Remove(word.LastIndexOf('/'));

答案 1 :(得分:4)

实施为扩展方法:

static class StringExtension
{
  public static string RemoveTrailingText(this string text, string textToRemove)
  {
    if (!text.EndsWith(textToRemove))
      return text;

    return text.Substring(0, text.Length - textToRemove.Length);
  }
}

用法:

string whatever = "degree/NN".RemoveTrailingText("/NN");

这考虑到不需要的部分“/ NN”仅从您指定的单词末尾删除。一个简单的Replace将删除每次出现的“/ NN”。但是,在您的特殊情况下,这可能不是问题。

答案 2 :(得分:2)

只需使用

word = word.Replace(@"/NN","");

修改

忘记添加word =。修正了我的例子。

答案 3 :(得分:0)

试试这个 -

  string.replace();

如果需要替换模式,请使用正则表达式替换

  Regex rgx = new Regex("/NN");
  string result = rgx.Replace("degree/NN", string.Empty);