0
可能重复:
Wrapping text into lines at word boundaries分手一个字符串n每30个字符
我需要从一个用户需要一个文本输入,并把它分解成多行每三字符。困难的部分是我还需要确保换行符出现在“”(空格)处,以便不分解单词。
我在试图算出这个最初的尝试是这样的:
if @square.text.length > 30
text = @square.text[0, 31] + "\n" + @square.text[31, @square.text.length]
else
text = @square.text
end
而且,我知道上面只处理需要进行一次破碎的字符串。我需要最多六个换行符。
任何想法如何去做到这一点?
你不能总是通过的话正好每三十个字符打破。我认为你的意思是打破最多三十个字符。另外,如果有超过30个字符的字,并且没有办法打破,你想要发生什么?还有一点不清楚的是,当你在一个空间中休息时,你是否想用该空间开始下一行或删除它(用新行代替)?还有一点是:“@ square”是什么?不要使用没有解释的变量。或者,简化它以适应问题的格式。 – sawa
快速浏览http://stackoverflow.com/questions/754407/what-is-the-best-way-to-chop-a-string-into-chunks-of-a-given-length-in-ruby – rjz