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

C# 如何删除c中单词的某些字符#,c#,.net,string,C#,.net,String,我有一个 string word = "degree/NN"; 我想要的是删除单词的“/NN”部分,只取单词“degree” 我有以下情况: 在不同的场合,单词的长度可能不同。(可以是任何单词,因此长度不固定) 但是单词的末尾总是包含“/NN”部分 如何在C#NET中实现这一点?只需使用 word = word.Replace(@"/NN",""); 编辑 忘记添加单词=。在我的示例中修复了这个问题。只需使用 word = word.Replace(@"/NN",""); 编辑 忘记添

我有一个

string word = "degree/NN";
我想要的是删除单词的
“/NN”
部分,只取单词
“degree”

我有以下情况:

  • 在不同的场合,单词的长度可能不同。(可以是任何单词,因此长度不固定)
  • 但是单词的末尾总是包含
    “/NN”
    部分
如何在C#NET中实现这一点?

只需使用

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

忘记添加单词=。在我的示例中修复了这个问题。

只需使用

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


忘记添加单词=。在我的示例中修复了此问题。

您可以使用以下命令将输入字符串缩短三个字符:

string word = "degree/NN";

string result = word.Remove(word.Length - 3);
如果斜杠后面的零件长度可变,可以使用查找斜杠:

string word = "degree/NN";

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

您可以使用以下命令将输入字符串缩短三个字符:

string word = "degree/NN";

string result = word.Remove(word.Length - 3);
如果斜杠后面的零件长度可变,可以使用查找斜杠:

string word = "degree/NN";

string result = word.Remove(word.LastIndexOf('/'));
试试这个-

  string.replace();
如果需要替换模式,请使用regex replace

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

  string.replace();
如果需要替换模式,请使用regex replace

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

作为扩展方法实现:

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”。但是,在您的特殊情况下,这可能不是问题。

作为扩展方法实现:

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”。但是,在您的特殊情况下,这可能不是问题。

同意-并且为了澄清您是否是初学者,您需要设置word=word.Replace(@/NN“,”);苛刻地称我为初学者,因为我忘了添加Word=,但这是你的选择…实际上,如果有一个机会,“N/NN”会出现在文本内不止一次,也就是说,考虑字符串“C/NNEE/NN”的一致性,并且只是为了澄清如果你是初学者,你需要设置Word=Word。苛刻地称我为初学者,因为我忘了添加Word=,但这是你的选择…实际上,如果“/NN”在文本内出现不止一次,也就是说,考虑字符串“c/nNEE/NN”,这将不太有效。我确实尝试过,但它给了我一个错误,说我缺少Regex的程序集引用。我确实尝试过,但它给了我一个错误,说我缺少Regex的程序集引用。