Ruby on rails 如何根据长度拆分每个段落的文本?

Ruby on rails 如何根据长度拆分每个段落的文本?,ruby-on-rails,ruby,Ruby On Rails,Ruby,嗨,我用的是红布,Rails 3 目前,我正在基于字符串“-BREAK-”拆分长文本。 我如何根据字符长度分割文本而不在句子中间分裂。 例如: 那将是一页。大约794个字符。我认为这没有任何内置逻辑,所以您应该只查找“.”,一个好的正则表达式还指定它必须在单词(而不是空格)后紧跟空格和大写字母 编辑:这将为您提供一个引用数组,您可以从中选择一个最接近字符限制的引用。我认为这没有任何内置逻辑,因此您应该只查找“.”以及一个好的正则表达式,该正则表达式还指定它必须在单词(而不是空格)后紧跟空格和大写

嗨,我用的是红布,Rails 3

目前,我正在基于字符串“-BREAK-”拆分长文本。 我如何根据字符长度分割文本而不在句子中间分裂。 例如:


那将是一页。大约794个字符。

我认为这没有任何内置逻辑,所以您应该只查找“.”,一个好的正则表达式还指定它必须在单词(而不是空格)后紧跟空格和大写字母


编辑:这将为您提供一个引用数组,您可以从中选择一个最接近字符限制的引用。

我认为这没有任何内置逻辑,因此您应该只查找“.”以及一个好的正则表达式,该正则表达式还指定它必须在单词(而不是空格)后紧跟空格和大写字母


编辑:这将为您提供一个引用数组,您可以从中选择最接近字符限制的引用。

首先,您应该将文本拆分为单个句子

这里有一个简单但远不是完美的方法(我相信你可以在其他地方找到很多更完整的模式):

然后,你应该把这些句子连接起来,注意段落的长度。您可以使用以下内容:

# using words as units, but sentences are just the same:
s = ['foo', 'bar', 'beef', 'baz', 'hello', 'chunky', 'bacon']
LEN = 7 # minimum length of a paragraph
s.inject([]){|a,i|
  if !a.last || a.last.length > LEN
    a << i
  else
    a.last << " #{i}"
  end
  a
}
#=> ["foo bar beef", "baz hello", "chunky bacon"]
#使用单词作为单位,但句子是一样的:
s=['foo','bar','beef','baz','hello','chunky','bacon']
LEN=7#段落的最小长度
s、 注入([]){a,i|
如果!a.last | a.last.length>LEN

a首先,你应该把课文分成几个句子

这里有一个简单但远不是完美的方法(我相信你可以在其他地方找到很多更完整的模式):

然后,你应该把这些句子连接起来,注意段落的长度。你可以这样使用:

# using words as units, but sentences are just the same:
s = ['foo', 'bar', 'beef', 'baz', 'hello', 'chunky', 'bacon']
LEN = 7 # minimum length of a paragraph
s.inject([]){|a,i|
  if !a.last || a.last.length > LEN
    a << i
  else
    a.last << " #{i}"
  end
  a
}
#=> ["foo bar beef", "baz hello", "chunky bacon"]
#使用单词作为单位,但句子是一样的:
s=['foo','bar','beef','baz','hello','chunky','bacon']
LEN=7#段落的最小长度
s、 注入([]){a,i|
如果!a.last | a.last.length>LEN
A.
# using words as units, but sentences are just the same:
s = ['foo', 'bar', 'beef', 'baz', 'hello', 'chunky', 'bacon']
LEN = 7 # minimum length of a paragraph
s.inject([]){|a,i|
  if !a.last || a.last.length > LEN
    a << i
  else
    a.last << " #{i}"
  end
  a
}
#=> ["foo bar beef", "baz hello", "chunky bacon"]