以字结尾的字符串的180个第一个字符

The*_*ter 4 c# asp.net

我需要缩短字符串..

假设我们有一个长度为500的字符串.

我只想要它的第一部分 - 最多180个字符,在到达180之前以最后一个字结尾.我不想在一个单词的中间剪短字符串.

这是如何实现的?它没有那么好的表现......它是一天发生几次,而不是更多.

Phi*_*ert 20

一个非常简单的方法是使用这个正则表达式:

string trimmed = Regex.Match(input,@"^.{1,180}\b").Value;
Run Code Online (Sandbox Code Playgroud)

唯一的问题是它可能包含尾随空格.要解决这个问题,我们可以添加一些负面的后视:

string trimmed = Regex.Match(input,@"^.{1,180}\b(?<!\s)").Value;
Run Code Online (Sandbox Code Playgroud)

这应该够了吧.