繁体   English   中英

使用RegEx从句子中的每个单词中删除POS(词性)标签

[英]Remove POS (part-of-speech) tag from every words in sentence with RegEx

我有以下字符串,其中每个单词都有POS( 词性 )标签:

The/DT suburb/NN of/IN Saffron/NNP Park/NNP lay/VBD on/IN the/DT sunset/JJ side/NN of/IN London/NNP ,/, as/IN red/JJ and/CC ragged/VBD as/IN a/DT cloud/NN of/IN sunset/NN ./. 

如何使用C#代码中的RegEx一次删除每个POS标签(即/DT/NN/IN ,..., /. )?

\/[A-Z.,]*

试试这个。用empty string替换。请参阅演示。

https://regex101.com/r/sJ9gM7/109

我想“一次”是指使用一次对Regex.Replace调用。 您可以使用以下正则表达式安全删除它们:

/(?:[.,]|\p{Lu}+\b)

在C#正则表达式中,您不必转义/

如果要删除/后的所有标点符号,可以使用:

/(?:\p{P}|\p{Lu}+\b)

您需要使用string.Empty作为替换字符串。

var input = "The/DT suburb/NN of/IN Saffron/NNP Park/NNP lay/VBD on/IN the/DT sunset/JJ side/NN of/IN London/NNP ,/, as/IN red/JJ and/CC ragged/VBD as/IN a/DT cloud/NN of/IN sunset/NN ./.";
var rgxx = new Regex(@"/(?:[.,]|\p{Lu}+\b)");
var result = rgxx.Replace(input, string.Empty);

输出:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM