将字符串解析为指定的长度(不切换单词)

时间:2009-06-24 21:00:00

标签: vb.net regex parsing string

我有一个长字符串,我需要解析为长度不超过40个字符的字符串数组。对我来说,这个棘手的部分是确保正则表达式找到40个字符之前的最后一个空格,以便在字符串之间进行干净的中断,因为我不希望单词被切断。

2 个答案:

答案 0 :(得分:9)

这个正则表达式应该可以胜任:

".{1,40}( |$)"

(引用是字符串文字。)

这简单地告诉正则表达式解析器在找到单个空格(或字符串的结尾)之前,在1到40次之间(即尽可能多的)执行任何char的贪婪匹配。

答案 1 :(得分:0)

随时修剪子字符串:

(?<sub>.{1,40})(?:\s+|$)|(?<sub>.{40})

第一种选择尝试干净的休息,但另一种选择是作为盲目砍伐的后备,如果需要的话。之后,子字符串可在m.Groups["sub"].Captures中找到。