我有一个长字符串,我需要解析为长度不超过40个字符的字符串数组。对我来说,这个棘手的部分是确保正则表达式找到40个字符之前的最后一个空格,以便在字符串之间进行干净的中断,因为我不希望单词被切断。
答案 0 :(得分:9)
这个正则表达式应该可以胜任:
".{1,40}( |$)"
(引用是字符串文字。)
这简单地告诉正则表达式解析器在找到单个空格(或字符串的结尾)之前,在1到40次之间(即尽可能多的)执行任何char的贪婪匹配。
答案 1 :(得分:0)
随时修剪子字符串:
(?<sub>.{1,40})(?:\s+|$)|(?<sub>.{40})
第一种选择尝试干净的休息,但另一种选择是作为盲目砍伐的后备,如果需要的话。之后,子字符串可在m.Groups["sub"].Captures
中找到。