从.net中的字符串中删除单词
我需要保留返回字符串的前5个字,去掉余额 我想保留下面的“Stackoverflow是一个惊人的资源”从.net中的字符串中删除单词,.net,vb.net,.net,Vb.net,我需要保留返回字符串的前5个字,去掉余额 我想保留下面的“Stackoverflow是一个惊人的资源” Stackoverflow对于开发者来说是一个惊人的资源好的,一个更奇特的解决方案: int remainingWords=5; Replace(“Stackoverflow对于开发人员来说是一个惊人的资源”,“(.+?)|(.+?)”,match=> { 返回剩余单词-->0?匹配。值:“”; }); 您可以与结合使用 或者您可以使用: 或者(正如保利乌斯·尤伊所回答的): 编辑:您基本上
Stackoverflow对于开发者来说是一个惊人的资源好的,一个更奇特的解决方案:
int remainingWords=5;
Replace(“Stackoverflow对于开发人员来说是一个惊人的资源”,“(.+?)|(.+?)”,match=>
{
返回剩余单词-->0?匹配。值:“”;
});
您可以与结合使用
或者您可以使用:
或者(正如保利乌斯·尤伊所回答的):
编辑:您基本上修改了问题,因此这里有一种获取字符串前n个单词的方法:
Dim amazing = "Stackoverflow is an amazing resources for developers"
Dim words = amazing.Split({" "c}, StringSplitOptions.RemoveEmptyEntries)
Dim first5Words = String.Join(" ", words.Take(5))
var words = inputString.Split(' ', StringSplitOptions.RemoveEmptyEntries)
尽管您可能需要使用重载来满足其他空白字符的需要
接下来是前5个单词:
var firstFive = words.Take(5)
这将返回前五个单词,因此输入字符串中少于5个单词并不重要
最后,重新创建一个句子:
var output = string.Join(" ", firstFive)
显然,您可以将这些步骤结合起来。嗯。。。我给出的字符串只是一个例子。它将返回不同的字符串。假设我有一个字符串数据集,其中我有从数据库返回的不同字符串。从这些我只需要保留前5个字。我应该在问题中说清楚。直到现在我才意识到它是在vb.net下被标记的。抱歉,C#代码。数据库将返回不同的字符串。我改变了我的答案,把它弄清楚了。很抱歉。
var words = inputString.Split(' ', StringSplitOptions.RemoveEmptyEntries)
var firstFive = words.Take(5)
var output = string.Join(" ", firstFive)