如何在字符串中获取行数?

时间:2014-07-11 05:56:23

标签: string lua corona

总的来说,我从JSON对中得到一个字符串,其中包含" \ n"符号。例如,

  

"我可以看到地球如何滋养它的草,\ n从块状地球中分离细粒,\ n用它自己的遗体进行自我保护\ n在它的表面上捕捉爬行的昆虫。\ n我可以看到它像绿波一样\ n它会抬起土壤,使其膨胀,\ n根部是如何穿透周围的覆盖物\ n而是吸入天空中的空气。\ n我可以看到光线是如何照亮花朵的 - \ n将它们注入它们紧密的花蕾中!\ n地球和草地 - 继续生长!\ n在绿色的海洋中掠过山脉...... \ n哦,年轻人的运动力量,\ n植物的肌肉拉力!\ n开始行星,太阳和给你,\ n穿过灌木丛到新鲜的春天空气!"

这个字符串是一些诗歌。

现在我需要根据文本长度调整display.newText对象的大小。

以下是我看到的方式:

  1. 获取行数(" \ n" + 1,因为哪里不是" \ n"最后)
  2. for for循环获取最长行
  3. 设置display.newText对象的大小。可能正在使用fontSize来计算系数......
  4. 问题是:如何获得行数?

1 个答案:

答案 0 :(得分:3)

要获取字符串中'\n'的数量,您可以使用string.gsub,它用于字符串替换,但它也会返回匹配数作为第二个返回值。

local count  = select(2, str:gsub('\n', '\n'))

或类似:

local _, count = str:gsub('\n', '\n')