求一个正则表达式

不訴離傷 2016-10-07 04:29:12
string str = "This section provides detailed information on key C# language features and features accessible to C# through the .NET Framework.";

例如上面一串文字,按最多每35个字符拆分成数组,最多是因为不能将一个单词拆断。
例如上面的拆分出来,数组的第一个是 “This section provides detailed ”,因为第35刚好落在单词information上面,不能将information单词拆断,第二个数组字符串就是从information的第一个字母i开始算起,第二个为 “information on key C# language ”,
有没有一个正则表达式可以处理这样的功能。

上面是字符串没有回车换行,另外如果有回车换行的字符串,也要分隔,这种表达式又是怎么处理?
string str = "This section provides detailed information on key C# language
features and features accessible to C#
through the .NET Framework.";
如上面有三行,但是要得到的数组要和第一种一样。
...全文
148 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-10-08
  • 打赏
  • 举报
回复
q107770540 2016-10-08
  • 打赏
  • 举报
回复
这关系到分词操作,因为不能将单词拆开,即 有可能按35,也有可能 34 或33进行分组 所以这需要一个算法来操作,而不是正则
W_wjl1900 2016-10-08
  • 打赏
  • 举报
回复
顶楼上,正解
syeerzy 2016-10-07
  • 打赏
  • 举报
回复


测试结果满足你需求
syeerzy 2016-10-07
  • 打赏
  • 举报
回复
\b.{0, 35}\b 就可以了, 如果有回车就设置多行模式(Regex对象的属性), 或者用[\S\s] 代替 . 变成 \b[\s\S]{0,35}\b

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧