Ruby:每X个字符插入一次空格
在ruby字符串中,如何每X个字符插入一个空格?
作为一个例子,我想在给定字符串的每8个字符处插入一个空格。
>> s = "1234567812345678123456781234567812345678" => "1234567812345678123456781234567812345678" >> s.gsub(/(.{8})/, '\1 ') => "12345678 12345678 12345678 12345678 12345678 "
编辑:您可以使用正向前瞻以避免在最后添加额外的空间:
>> s.gsub(/(.{8})(?=.)/, '\1 \2') => "12345678 12345678 12345678 12345678 12345678"
替代解决方案:
s.scan(/.{1,8}/).join(' ')
String#scan
将为您填充(超过8个字符的跨度 – 除了最后一个块,可能更短),然后Array#join
将重新组合具有散布的适当字符的块。
- 给定n个subArrays Sn的数组A,如何在Ruby中选择Sn 成员数组?
- 使用acts_as_taggable在Ruby on Rails 4中保存标记时遇到问题
- 是否可以在Ruby中执行before_action(如在Rails中)?
- 从数据库获取SASS(编译传递的数据而不是从文件中读取)
- Ruby中的哈希语法
- Ruby on Rails:如何使用Twitter搜索Api从next_page获取推文? 什么应该是我的since_id和max_id?
- 什么是def to_sfunction?
- Javascript:在javascript代码中使用模型中的方法
- Rails错误resource_name – 设计帮助路由和呈现