将文本分组为部分算法

时间:2012-04-05 05:53:54

标签: algorithm

任务是根据每个部分设置的各种限制将给定的文本字符串分组。让我们说我们有一个字符串S,它是" Lorem ipsum dolorem。"我们还有3个部分。每个部分都有限制,可以限制该部分中可以包含的文本数量。可以根据字符数或字数来指定这些限制。例如,第一部分最少可包含五个字符,最多十个字符。第二部分可以至少有一个单词,最多五个单词,每个单词在2到10个字符之间。第三部分可以与第一部分具有相同的限制。

我们需要使用所有可用的文本,否则就没有分组解决方案。单词不能分开(因此我们不能在分组时将单词分成多个部分。)如果我们在分组中将句子保持在一起,所有其他条件相同,则解决方案会更好。

对文本进行分组的最有效方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您只计算字符/数字和单词,则表达正则表达式:http://en.wikipedia.org/wiki/Regular_expressions

修改

例如,请考虑以下事项:

 sed -E -e 's/([a-z]{2,10}) (([a-z]{2,4} ){1,2})([a-z]{2,10})/G:\1 G:\2
 G:\4/'

如果将其应用于“aaa bb bbbb ccccc”,则会得到:

 G:aaa G:bb bbbb  G:ccccc